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

网销是做什么的aso应用优化

网销是做什么的,aso应用优化,牡丹江疫情最新通知,专门做库存的网站文末有本篇文章的项目源码文件可供下载学习 在这个案例中,我们已经实现了自定义登录URI的操作,登录成功之后,我们再次访问后端中的API的时候要在请求头中携带token,此时的token是jwt字符串,我们需要将该jwt字符串进行解析,查看解析后的User对象是否处于登录状态.登录状态下,将…

文末有本篇文章的项目源码文件可供下载学习

在这个案例中,我们已经实现了自定义登录URI的操作,登录成功之后,我们再次访问后端中的API的时候要在请求头中携带token,此时的token是jwt字符串,我们需要将该jwt字符串进行解析,查看解析后的User对象是否处于登录状态.登录状态下,将用户信息封装成Authentication对象用于后续过滤器验证,并放行,未登录状态下直接拒绝访问.

0.配置思路

  1. 在本案例基础上,进行升级.
  2. 新建JwtAuthenticateFilter.java,实现认证过滤器.
  3. 配置SecurityConfig.java,将JwtAuthenticateFilter加入过滤器链.
  4. 进行相关测试.

1.新建JwtAuthenticateFilter.java

@Component
public class JwtAuthenticateFilter extends OncePerRequestFilter {@Autowiredprivate UserMapper userMapper;@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
//        1.获取tokenString token = request.getHeader("token");if (!StringUtils.hasText(token)) {filterChain.doFilter(request, response);return;}
//        2.解析tokenClaims claims = JwtUtil.parseJWT(token);String userId = claims.getId(); //获取用户IdString userDetailsString = claims.getSubject();UserDetailsImpl userDetails = JSON.parseObject(userDetailsString, UserDetailsImpl.class);
//        3.获取用户信息User user = userMapper.findById(userId);if (Objects.isNull(user) || user.getCurrentFlag().equals("logout")) {throw new RuntimeException("用户未登录");}
//        4.存入SecurityContextHolder//获取权限信息封装到authenticationToken对象中UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(userDetails,null,null);SecurityContextHolder.getContext().setAuthentication(authenticationToken);
//        5.放行filterChain.doFilter(request, response);}
}

2.配置SecurityConfig.java

    @Overrideprotected void configure(HttpSecurity http) throws Exception {http
//                关闭csrf.csrf().disable()
//                不通过session获取SecurityContext.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().authorizeRequests()
//                放行登录接口,允许匿名访问.antMatchers("/security/login").anonymous()
//                登录不登录的都可以访问,放行
//                .antMatchers("/hello").permitAll()
//                除上面外的所有请求全部需要认证授权.anyRequest().authenticated();//        配置认证jwt过滤器http.addFilterBefore(jwtAuthenticateFilter, UsernamePasswordAuthenticationFilter.class);}

3.相关测试

3.1未登录测试

我们发现返回403状态码,被拒绝访问.

3.2登录之后访问测试

我们发现返回了token值,将token值复制下来,放到自定义访问的请求头中,之后进行访问测试.

我们发现就能正常访问了.

本篇文章的项目源码文件,可点击下载学习

http://www.dtcms.com/wzjs/476617.html

相关文章:

  • 音乐图书馆网站建设上海网站建设优化
  • 专业网站建设找哪家好芜湖seo
  • 荔湾做网站建站快车
  • 外贸阿里巴巴国际站成功品牌策划案例
  • 做网站建设网站制作百度客服中心
  • 如何做自适应网站上海比较好的seo公司
  • nginx 做udp网站微信营销的案例
  • 北京市建设工程审核在哪个网站网店运营推广实训
  • sns网站建设网站优化排名易下拉系统
  • 工程信息网站建设制作网站需要什么技术
  • 在什么网站可以做外贸出口劳保鞋2022年最近一周新闻大事
  • 莱芜公交网站网站维护需要多长时间
  • 做门户网站建设多少钱全部视频支持代表手机浏览器
  • app开发公司怎么选择什么是优化师
  • 西青seo东莞seo网站管理
  • 广东大唐建设网站佛山网络推广平台
  • 潜江做网站的公司有哪些如何用google搜索产品关键词
  • 广告设计与制作培训机构网站seo教程
  • 什么是企业微信seo营销外包
  • 做网站效果商务软文写作300
  • 网站排名乐云seo国际时事新闻2022最新
  • 吉林做网站多少钱企业推广网
  • html中文网页模板中国seo关键词优化工具
  • 湖南3合1网站建设电话网站策划方案
  • 个人网站如何做移动端职业技能培训学校
  • 做创意ppt网站有哪些方面企业seo顾问服务阿亮
  • 昌吉哪个公司做网站免费搜索引擎推广方法有哪些
  • 做网站 淘宝西安seo外包
  • 公司网站建设费入哪个科目杭州网络排名优化
  • 石家庄微信小程序定制网站seo优化方案设计