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

网站建设的意义网站集约化建设解读

网站建设的意义,网站集约化建设解读,网站放到云服务器上怎么做,公司网站备案材料一#xff0c;实现思路 1#xff0c;基于JWT令牌登陆方式 JWT实现登录的#xff0c;登录信息就保存在请求头的token中。因此要获取当前登录用户#xff0c;只要获取请求头#xff0c;解析其中的token。 1#xff09;#xff0c;Gateway网关拦截#xff0c;解析用户信…一实现思路 1基于JWT令牌登陆方式 JWT实现登录的登录信息就保存在请求头的token中。因此要获取当前登录用户只要获取请求头解析其中的token。 1Gateway网关拦截解析用户信息 我们的把token解析的行为放到了网关中然后由网关把用户信息放入请求头传递给下游微服务。 在Gateway网关中创建一个Filter拦截并解析JWT将用户消息放入请求头中 Component public class AccountAuthFilter implements GlobalFilter, Ordered {private final AuthUtil authUtil;private final AuthProperties authProperties;private final AntPathMatcher antPathMatcher new AntPathMatcher();public AccountAuthFilter(AuthUtil authUtil, AuthProperties authProperties) {this.authUtil authUtil;this.authProperties authProperties;}Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {// 1.获取请求request信息ServerHttpRequest request exchange.getRequest();String method request.getMethodValue();String path request.getPath().toString();String antPath method : path;// 2.判断是否是无需登录的路径if(isExcludePath(antPath)){// 直接放行return chain.filter(exchange);}// 3.尝试获取用户信息ListString authHeaders exchange.getRequest().getHeaders().get(AUTHORIZATION_HEADER);String token authHeaders null ? : authHeaders.get(0);RLoginUserDTO r authUtil.parseToken(token);// 4.如果用户是登录状态尝试更新请求头传递用户信息if(r.success()){exchange.mutate().request(builder - builder.header(自定义请求头名称, r.getData().getUserId().toString())).build();}// 6.放行return chain.filter(exchange);}private boolean isExcludePath(String antPath) {for (String pathPattern : authProperties.getExcludePath()) {if(antPathMatcher.match(pathPattern, antPath)){return true;}}return false;}Overridepublic int getOrder() {return 1000;} }2微服务获取用户信息并将用户信息放入ThreadLocal中 每个微服务都定义一个Filter获取用户信息。并使用ThreadLocal 将用户信息放入ThreadLocal中每个微服务都定义很麻烦所以我们将Filter抽取出来。 Slf4j public class UserInfoInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 1.尝试获取头信息中的用户信息String authorization request.getHeader(请求头名称);// 2.判断是否为空 因为很多微服务不需要获取用户信息我们不需要拦截if (authorization null) {return true;}// 3.转为用户id并保存try {Long userId Long.valueOf(authorization);UserContext.setUser(userId);return true;} catch (NumberFormatException e) {log.error(用户身份信息格式不正确{}, 原因{}, authorization, e.getMessage());return true;}}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {// 清理用户信息UserContext.removeUser();} }
http://www.pierceye.com/news/215409/

相关文章:

  • 网站建设网站营销做APP必须要有网站么
  • 易企建站咖啡公司网站建设策划书
  • wordpress 不能查看站点网站建设公司软件开
  • 网站文章seoftp搭建wordpress
  • 济宁企业做网站受欢迎的常州做网站
  • 我有域名有服务器怎么建设网站凡科官网app下载
  • 深圳保障性住房可以买卖吗襄樊seo排名
  • 餐饮官网建站模板网站开发实验报告可行性分析
  • 美食网站建设规划书外链工具软件
  • 网站设计模板代码七牛wordpress后台慢
  • 佛山网站建设怎么办huang色网站
  • 涞水县建设局网站wordpress wp_enqueue_script
  • 网站怎么添加音乐wordpress livechat
  • 网站开发的业务需求分析学校网站建设运行简介
  • 网站建设找博网iis7.0网站错误代码解决
  • 嘉鱼网站建设公司php网站开发技术期末题库
  • 企业网站搭建方案wordpress代码编辑器件
  • 网站的大小黄埔移动网站建设
  • 建设网站的语言中囯军事网
  • 网站开发职业访谈上海 建设工程质量监督站网站
  • 网站开发程序用什么好用新浪微博做网站
  • 什么免费推广网站好旅游订房网站开发需求文档
  • 网站运营是做啥的wordpress带会员中心主题
  • 网站设计怎么弄微信表情开放平台官网
  • 做网站纸张大小滨州网站建设模板建设
  • wordpress建站位置被跨境电商骗了怎么办
  • 巫山网站建设哇塞fm网站维护
  • 南宁百度网站推广计算机网站建设与推广
  • 汉中网站建设开发做微网站是订阅号还是服务号号
  • 中国商城网站建设h5响应式网站模板下载