会话校验

jwt
3部分
header(头) 令牌类型,签名算法
payload(有效载荷) 携带一些自定义信息
signature(签名) 防止Token被篡改 加入前2部分算法计算而来

jwt验证流程
后端引入依赖 生成 返回给前端 前端存储到本地 后端每次进行校验

jwt生成
引入依赖 ,.builder构建签名算法,内容,过期时间

jwt解密
签名内容进行解密

filter 过滤器
@webfilter("/")
servelt组件 启动类 加 扫描注解
执行流程 dofilter 拦截之后执行 后面逻辑
例如:@webfilter("/dept/*")
多个过滤器按照类名第一个字母 自然排序 执行先后顺序

使用 jwt+filter 过滤器 会话校验
首先放行全部请求,dofilter执行逻辑
判断url 是否包含login 有放行 没有继续执行
获取请求headers是否有token 有继续执行 没有直接返回
获取token是否和jwt令牌匹配 没有返回 有放行

intercepert 拦截器
spring生态 拦截范围小 首先定义拦截器,实现handintercepert接口 生成bean 注册此拦截器

拦截路径

拦截 执行流程 范围
比过滤器范围少 因为是spring提供

jwt+intercepter 拦截器 会话
和过滤器一样,只是放行就可以了 return true

评论