当前位置: 首页 > 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.mmbaike.com/news/55119.html

相关文章:

  • 适应移动端网站模板最新新闻热点大事件
  • 注册一个公司网站的费用个人免费域名注册网站
  • 医疗网站备案前置审批长沙网站策划
  • 网站开发合作知乎小说推广对接平台
  • 网站多少钱国外搜索引擎排名
  • 可以建设网站的软件推广目标怎么写
  • wordpress阿里云建站短视频营销推广策略
  • 广告平面设计好学吗郑州seo外包平台
  • wordpress 迁移域名优化网站seo公司
  • 网站制作前的图片路径百度员工收入工资表
  • 零食网站怎么做吸引人的软文标题例子
  • 重庆装修公司网站建设百度经验手机版
  • 临猗商城网站建设平台百度账号怎么注销
  • 软件开发外包公司哪个好seo助力网站转化率提升
  • 做网站和推广硝酸银试剂盒营销方法
  • 电子网站有哪些郑州厉害的seo顾问
  • 惠州抖音推广厦门网站快速排名优化
  • 定制app开发平台开封seo公司
  • 衡水做wap网站多少钱浙江网站推广运营
  • 洛阳网站建设公司怎么在百度推广自己的网站
  • 城口集团网站建设seo优化怎么做
  • 成都医院手机网站建设百度官网app下载
  • 创建购物平台需要什么seo优化要做什么
  • 罗玉凤做网站武汉网站设计公司
  • 营销型网站建设的五力原则营销技巧培训
  • 做网站要学多久网站的设计流程
  • 电子商务网站建站目的关键词com
  • 公众平台官网登录入口关键词seo优化公司
  • 茶陵网站建设谷歌广告代理商
  • 什么网站做h5不收费google排名