当前位置: 首页 > news >正文

网站制作公司crm客户管理系统四川企业seo

网站制作公司crm客户管理系统,四川企业seo,找素材的网站大全,开个小公司注册资金要多少文章目录 1. 功能介绍2. AuthFilter的配置3. AuthFilter实现分析4. 资料参考 过滤器的功能是检验经过网关的每一个请求,检查 token 中的信息是否有效。 注意是“认证检查”,而不是“权限” 1. 功能介绍 1、在用户完成登录后,程序会把用户相关…

文章目录

  • 1. 功能介绍
  • 2. AuthFilter的配置
  • 3. AuthFilter实现分析
  • 4. 资料参考

过滤器的功能是检验经过网关的每一个请求,检查 token 中的信息是否有效。
注意是“认证检查”,而不是“权限”

1. 功能介绍

1、在用户完成登录后,程序会把用户相关的用户、角色、权限等信息临时存储在 redis 中,并把token返回给终端用户。

1、毕竟返回的token只存储了极其少量的用户信息,避免传输的数据量太大
2、RuoYi 返回的 token 中存储的信息有:
user_key:login_tokens:uuid(存入redis中用的)
user_id:userId
username:userName

2、当用户携带token时,我们判断 token 是否有效,关联的用户是否登录。如果token有效就把user_key、user_id、username 设置到请求头中

此处主要是检验 token 是否有效。
设置到请求头,统一处理,也方便其他模块

2. AuthFilter的配置

@Component
public class AuthFilter implements GlobalFilter, Ordered
{private static final Logger log = LoggerFactory.getLogger(AuthFilter.class);@Autowiredprivate RedisService redisService;@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain){...}
}

AuthFilter 实现了GlobalFilter, Ordered,是一个全局过滤器,所有的模块都有。这也很好理解,所有的模块当然都需要检查 token 是否有效啊。

3. AuthFilter实现分析

    @Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain){ServerHttpRequest request = exchange.getRequest();ServerHttpRequest.Builder mutate = request.mutate();String url = request.getURI().getPath();// 1、检验路径if (StringUtils.matches(url, ignoreWhite.getWhites())){return chain.filter(exchange);}String token = getToken(request);// 2、是否有tokenif (StringUtils.isEmpty(token)){return unauthorizedResponse(exchange, "令牌不能为空");}// 3、解析token,判断是否是有效的tokenClaims claims = JwtUtils.parseToken(token);if (claims == null){return unauthorizedResponse(exchange, "令牌已过期或验证不正确!");}String userkey = JwtUtils.getUserKey(claims);// 4、判断用户是否登录boolean islogin = redisService.hasKey(getTokenKey(userkey));if (!islogin){return unauthorizedResponse(exchange, "登录状态已过期");}String userid = JwtUtils.getUserId(claims);String username = JwtUtils.getUserName(claims);// 5、检查token是否有userId、userNameif (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)){return unauthorizedResponse(exchange, "令牌验证失败");}// 6、设置用户信息到请求addHeader(mutate, SecurityConstants.USER_KEY, userkey);addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid);addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username);// 7、内部请求来源参数清除removeHeader(mutate, SecurityConstants.FROM_SOURCE);return chain.filter(exchange.mutate().request(mutate.build()).build());}

1、检验路径
路径uri白名单检验,如果是白名单,直接通过。
2、是否有token
3、解析token,判断是否是有效的token
只有有效的 token 才会解析出信息而不报错。
4、判断用户是否登录
auth 的权限校验有一个校验用户是否登录的注解。
5、检查token是否有userId、userName
6、设置用户信息到请求头
7、内部请求来源参数清除
8、继续下一个过滤器

4. 资料参考

语雀笔记地址:https://www.yuque.com/yuchangyuan/tkb5br

http://www.tj-hxxt.cn/news/10615.html

相关文章:

  • 湛江市住房和城乡建设局网站百度客户端
  • 如何设计制作一般的企业网站产品推广渠道有哪些方式
  • 企业静态网站需要备案吗重庆关键词优化平台
  • 一个人在家做网站建设域名注册1元
  • 哪个网站可以做公务员考试题百度商品推广平台
  • 旅游网站做seo网络推广外包想手机蛙软件
  • 电子商务网站设计模板个人推广app的妙招
  • 外贸网站开发开发百度一下就知道
  • 天津做网站一般多少钱企业网站设计与推广
  • 中央经济工作会议百度百科seo网站推广方式
  • 建立wordpress数据库沈阳seo排名优化推广
  • 哪些网站可以做锚文本线上广告宣传方式有哪些
  • 成都公司核名的网站正版google下载
  • 广州市网站建设科技专业恶意点击软件
  • wordpress如何自建站网站分析工具
  • 什么公司做网站最好seo管理系统培训
  • 网站建设出售seo搜索如何优化
  • 开发一个小程序游戏要多少钱seo入门教学
  • 广东做网站策划长春网站优化流程
  • 传新闻到网站上怎么做友情链接怎么做
  • jquery 开发网站网站运营主要做什么
  • 免费推广做产品的网站百度竞价渠道户
  • 工控做网站sem竞价托管价格
  • 公司做网站的价格江阴网站免费搭建
  • 百度网站ip地址曼联vs曼联直播
  • 做网站店铺装修的软件口碑营销的方法
  • 政府网站建设 问题百度官方网平台
  • 软件开发是什么职业佛山做优化的网络公司
  • 七牛云使用wordpressseo网站平台
  • 谁知道陕西省建设监理协会的网站河南郑州最近的热搜事件