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

站长工具怎么用软文营销网

站长工具怎么用,软文营销网,网站响应是什么,景观设计师如何做网站JwtFilter 第五步#xff1a;定义jwt的过滤器JwtFilter。 这个过滤器是我们的重点#xff0c;这里我们继承的是Shiro内置的AuthenticatingFilter#xff0c;一个可以内置了可以自动登录方法的的过滤器#xff0c;有些同学继承BasicHttpAuthenticationFilter也是可以的。 …JwtFilter 第五步定义jwt的过滤器JwtFilter。 这个过滤器是我们的重点这里我们继承的是Shiro内置的AuthenticatingFilter一个可以内置了可以自动登录方法的的过滤器有些同学继承BasicHttpAuthenticationFilter也是可以的。 我们需要重写几个方法 createToken实现登录我们需要生成我们自定义支持的JwtToken onAccessDenied拦截校验当头部没有Authorization时候我们直接通过不需要自动登录当带有的时候首先我们校验jwt的有效性没问题我们就直接执行executeLogin方法实现自动登录 onLoginFailure登录异常时候进入的方法我们直接把异常信息封装然后抛出 preHandle拦截器的前置拦截因为我们是前后端分析项目项目中除了需要跨域全局配置之外我们再拦截器中也需要提供跨域支持。这样拦截器才不会在进入Controller之前就被限制了。 跨域 下面我们看看总体的代码 com.markerhub.shiro.JwtFilter Component public class JwtFilter extends AuthenticatingFilter {AutowiredJwtUtils jwtUtils;Overrideprotected AuthenticationToken createToken(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception {// 获取 tokenHttpServletRequest request (HttpServletRequest) servletRequest;String jwt request.getHeader(Authorization);if(StringUtils.isEmpty(jwt)){return null;}return new JwtToken(jwt);}Overrideprotected boolean onAccessDenied(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception {HttpServletRequest request (HttpServletRequest) servletRequest;String token request.getHeader(Authorization);if(StringUtils.isEmpty(token)) {return true;} else {// 判断是否已过期Claims claim jwtUtils.getClaimByToken(token);if(claim null || jwtUtils.isTokenExpired(claim.getExpiration())) {throw new ExpiredCredentialsException(token已失效请重新登录);}}// 执行自动登录return executeLogin(servletRequest, servletResponse);}Overrideprotected boolean onLoginFailure(AuthenticationToken token, AuthenticationException e, ServletRequest request, ServletResponse response) {HttpServletResponse httpResponse (HttpServletResponse) response;try {//处理登录失败的异常Throwable throwable e.getCause() null ? e : e.getCause();Result r Result.fail(throwable.getMessage());String json JSONUtil.toJsonStr(r);httpResponse.getWriter().print(json);} catch (IOException e1) {}return false;}/*** 对跨域提供支持*/Overrideprotected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {HttpServletRequest httpServletRequest WebUtils.toHttp(request);HttpServletResponse httpServletResponse WebUtils.toHttp(response);httpServletResponse.setHeader(Access-control-Allow-Origin, httpServletRequest.getHeader(Origin));httpServletResponse.setHeader(Access-Control-Allow-Methods, GET,POST,OPTIONS,PUT,DELETE);httpServletResponse.setHeader(Access-Control-Allow-Headers, httpServletRequest.getHeader(Access-Control-Request-Headers));// 跨域时会首先发送一个OPTIONS请求这里我们给OPTIONS请求直接返回正常状态if (httpServletRequest.getMethod().equals(RequestMethod.OPTIONS.name())) {httpServletResponse.setStatus(org.springframework.http.HttpStatus.OK.value());return false;}return super.preHandle(request, response);} }
http://www.yutouwan.com/news/410577/

相关文章:

  • 龙岩市住房和城乡建设局网站中国seo排行榜
  • 黄骅做网站价格织梦html5手机网站模板
  • 青岛网站设计建设大型企业网站源码
  • 佛山网站建设价格整站优化要多少钱
  • 义乌高端网站设计品牌火车头 wordpress 发布
  • 海东企业网站建设如何做网站营销
  • 网站开发重要性wordpress国外模板安装
  • 吉林省建设 安全 网站WordPress主题启用出现错误
  • 拼多多网站建设方案免费ftp 网站
  • 网站技术培训网站开发用技术
  • 北京城乡住房建设部网站深圳 网站设计公司排名
  • 网站建设咋做wordpress搭建门户
  • 企业网站建设流程概述免展网站后台注册
  • 0基础自学做网站赣州市微语网络科技有限公司
  • 泉州网页网站制作大型定制网站最贵建设多少钱
  • 中学生网站源码网页访问紧急升级
  • wordpress 评论点赞免费seo网站
  • 用阿里云自己建设网站宝塔搭建网站
  • 郑州动漫设计公司招聘上海牛巨微seo优化
  • 广州建设网站的公司简介网站使用网络图片做素材 侵权
  • 如何 网站收录wordpress小程序获取页面
  • 上海做淘宝网站美术学院网站建设
  • 建设局网站买卖合同设备网站开发
  • 网站开发工程师职业道德深圳网站建设外包
  • wordpress双站怎么样提升自己的学历
  • 网站制作素材2015做哪些网站能致富
  • 穹拓网站建设十大成功网络营销案例
  • seo网站页面优化零基础学wordpress pdf下载
  • 专业网站建设模板下载网页设计和网站开发哪个好
  • python 做网站 数据库百度官网网站首页