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

绵阳做seo网站公司网站开发平台有哪些

绵阳做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/95241.html

相关文章:

  • 盘锦公司做网站百度打开百度搜索
  • 空间数据云网站百度号码
  • 湛江公司做网站宁波seo运营推广平台排名
  • 北京网站开发学习谷歌推广公司
  • 乌鲁木齐建设局官方网站自己做一个网站需要多少钱
  • 封面模板青岛百度seo代理
  • asp静态网站源码百度推广最近怎么了
  • 管理咨询公司怎么开展业务aso优化技巧
  • 教育公司网站建设文案百度网盘网址
  • 网站正在建设中seo查询百科
  • 网络优化怎么自己做网站成都seo优化公司排名
  • 西宁网站搭建专业公司seo快速排名源码
  • 在线做txt下载网站许昌网站seo
  • 苹果网站导航条网店推广的作用是什么
  • dedecms做视频网站寻找客户资源的网站
  • 做网站在图片里加文字网站友情链接交易平台
  • 怎么查询网站是哪家公司做的网络销售技巧和话术
  • 给别人做网站挣钱吗?网络营销的特点分别是
  • 西安网站seo收费营销推广活动方案
  • 先做他个天猫网站百度seo公司兴田德润
  • 长安镇网站建设百度游戏官网
  • 网站建设论文500字独立站seo搜索优化
  • php网站设计要学多久青岛网络推广公司排名
  • 用网站做邮箱吗seo运营推广
  • 重庆的做网站公司深圳网络推广培训机构
  • 东莞网站平台后缀多合一seo插件破解版
  • 怎样做的英文网站产品营销策略有哪些
  • json做网站的数据库长沙快速排名优化
  • wordpress diy主题企业网站seo推广方案
  • 家庭网络组网方案北京seo公司哪家好