shiro
shiro-实战权限管理 什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理, 权限管理属于系统安全的范畴, 权限管理实现对用户访问系统的控制, 按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源 权限管理包括用户身份认证和授权两部分, 简称认证授权, 对于需要访问控制的资源用户首先要经过身份认证, 认证通过后具有该资源的访问权限方可访问 什么是身份认证 身份认证 就是判断一个用户是否为合法用户的处理过程, 最常用的简单身份认证方式是系统通过核对输入的用户名和口令, 看其是否与系统中存储的该用户的用户名和口令一致, 来判断用户身份是否正确, 对于采用指纹等系统, 则出示指纹, 对于硬件 key 等刷卡系统, 则需要刷卡 什么是授权 授权、即访问控制控制谁能访问那些资源, 主体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法进行访问的 shiro 架构图 架构图 (官网) 解释 Subject Subject 即主体, 外部应用与 subject 进行交互,subject 记录了当前操作用户, 将用户的概念理解为当前操作的主体, 可能是一个通过浏览器请 ...
图片存储方案-七牛云新建存储空间 存储空间 https://portal.qiniu.com/home 选择如下 新建空间 新建空间 开发者中心 进入 进入开发者中心,之后选择对象存储 JavaSDK JavaSDK 获取依赖 12345
com.qiniu
qiniu-java-sdk
[7.7.0, 7.10.99]
鉴权 简介 Java SDK 的所有功能, 都需要合法的授权, 授权凭证的签算需要七牛云账号下的一对有效的 Access Key 和 Secret Key 密钥:https://portal.qiniu.com/user/key 机房选择 机房 Region 华东 Region ...
文件上传下载实战登录模块 springboot JWT 拦截器请求头字段问题 Authorization axios 传递字段 axios 传递字段:key: Authorization value: token api 位置问题 修改前 api 位置问题 修改后 api 位置 使用 axios 拦截器对请求添加 token 所需字段 使用 axios 拦截器对请求添加 token 所需字段 devServer 配置不生效问题 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import axios from 'axios'let baseURL = '/'if (process.env.NODE_ENV === 'production') { // 后端接口地址 baseU ...
maven-插件问腿
maven-插件问腿 Tomcat7 插件 1234567891011121314
org.apache.tomcat.maven
tomcat7-maven-plugin
2.1
9000
/
Dubbo
Dubbo 概念 简介 Dubbo 是一个高性能的 RPC 框架, 解决了分布式中的调用问腿 优点: 解决了分布式系统中互相调用的问题 缺点: 假设由 100 台服务器 50 台用户业务服务器,50 台订单业务服务器, 但是在上线后发现, 用户服务器使用率很小, 但是订单服务器压力很大, 最佳匹配比应该是 1:4,这时候就要求我们还有一个统一管理的调度中心 为什么 Dubbo 说自己性能高 高性能要从底层的原理说起, 既然是一个 RPC 框架, 主要干的就是远程过程 (方法) 调用, 那么提升性能就要从最关键, 最耗时的两个方面入手: 序列化和网络通信 序列化: 我们学习 Java 网络开发的时候就知道, 本地的对象要在网络上传输, 必须要实现 Serializable 接口, 也就是必须序列化,我们序列化的方案很多:xml,json, 二进制流其中效率最高的就是二进制流 (因为计算机就是二进制的), 然而 Dubbo 采用的就是效率最高的二进制 网络通信: 不同于 HTTP 需要进行 7 步走 (三次握手和四次挥手),Dubbo 采用 Socket 通信机制, 一步到位, 提升了通信效率, 并且可以建立长连接, 不用反复连接, 直接传输数据 架构 摘自官 ...
Java-开发常用工具集
Java-开发常用工具集 Lombok 依赖 1234
org.projectlombok
lombok
注解 12345678910111213141516@Data@ToString@AllArgsConstructor // 全参构造 @NoArgsConstructor // 无参构造 public class User { private String userName; private Integer age;}// @Data: 生成如下方法 See Also: Getter, Setter, RequiredArgsConstructor, ToString, EqualsAndHashCode, Value 原理 原理 注解解析 @Data @Accessor ...
Nacos
Nacos 安装启动 官方文档 https://nacos.io/ 下载 1.4.3 Windows: https://github.com/alibaba/nacos/releases/download/1.4.3/nacos-server-1.4.3.zip Linux:https://github.com/alibaba/nacos/archive/refs/tags/1.4.3.tar.gz latest windows: https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.zip Linux: https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz windows 启动 1234# Nacos 1.4.0 Linux 默认启动是集群模式,需要 nginx 代理才能进入 nacos 界面 要想单机模式启动需要添加参数 -m standalone, ...
Zookeeper-环境搭建
下载 下载 https://archive.apache.org/dist/zookeeper/ 选择 3.5.7 稳定下载, 上传 linux 也可以在 linux 上使用 wget 下载 wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz 本地模式安装 安装 JDK JDK 选择 12345678# wget 进行 JDK 下载 wget https://cdn.azul.com/zulu/bin/zulu8.64.0.15-ca-jdk8.0.342-linux_x64.tar.gz# 创建目录 mkdir -p /opt/model/jdk8/# 解压到指定目录下 tar -zxvf zulu8.64.0.15-ca-jdk8.0.342-linux_x64.tar.gz -C /opt/model/jdk8/# 进入目录 复制 (淡黄色背景的路径) 如下路径,用于配置环境变量 1234567 ...
Centos7-Docker-Redis
Centos7-Docker-Redis 拉取镜像 1docker pull redis:latest 启动并映射数据卷 创建对应文件夹 1234# 配置文件 mkdir -p /home/docker/redis/config# 数据文件 mkdir -p /home/docker/redis/data 下载配置文件到指定目录 conf 12345wget https://github.com/redis/redis/blob/6.2.6/redis.conf# 或者进入网址复制内容并创建 redis.confvim redis.confchmod 777 redis.conf 修改该配置文件如下内容 123daemonize no => yes# protected-mode no => yesbind 127.0.0.1(注释) => 0.0.0.0 启动并映射数据卷 1docker run -p 6379:6379 --name redis-latest -v /home/docker/redis/config/redis.conf:/etc/re ...
Centos7-Yum 源安装
Centos7-Yum 源安装 文件下载 1234567891011121314151617181920212223242526cheat ls# 依次执行 (可以写入文件中自动执行)mkdir yumInstallcd yumInstallwget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm wget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpmwget http://tel.mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86 ...
JWT-认证原理
JWT-认证原理 JWT 能做什么 授权 一旦用户登录, 每个后续请求将包含 JWT,从而允许用户访问该令牌允许的路由, 服务和资源, 单点登录是当今广泛使用 JWT 的一项功能, 因为他的开销很小并且可以在同的作用域中轻松使用 信息交换 JSON Web Token 是在各方之间安全地传输信息地好方法, 因为可以对 JWT 进行签名 (例如: 使用公钥 / 私钥对), 此外, 由于签名是使用标头和有效负载计算的, 因此可以验证内容是否遭到篡改 为什么是 JWT 基于传统的 Session 认证 Session http 协议本身是一种无状态的协议, 而这就意味着如果用户向我们的应用提供了用户名和密码来进行认证, 那么下一次请求时, 用户还要再一次进行用户认证才行, 因为根据 http 协议, 我们并不知道是那个用户发出的请求, 所以为了让我们的应用能识别是那个用户发出的请求, 我们只能在服务器存储一份用户登录的信息, 这个登录信息会在响应时传递给浏览器, 告诉其保存在 cookie,以便于下次请求时发送给我们的应用, 这样我们的应用就能识别请求来自那个用户了, 这就是传统的基于 session 认证 认证流程 认证流程 ...
微信小程序微信开发者工具 安装 12https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信开发者工具下载 开发工具页面认识 开发工具认识 Vscode 搭建微信小程序开发环境 Easy Less 插件 1234567// 微信小程序开发环境搭建"less.compile": { "outExt": ".wxss"},"[less]": { "editor.suggest.insertMode": "replace"} Vscode 内下载微信小程序 环境配置 创建微信小程序项目 创建项目 (选择 ID) 创建一个空项目 javascript-模板 目录结构 123456789101112131 ...
