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

网站建设+设计那种连接线厂家举例说明网络营销的方法

网站建设+设计那种连接线厂家,举例说明网络营销的方法,网站制作企业有哪些,区块链系统软件开发文末有本篇文章的项目源码文件可供下载学习 在这个案例中,我们已经实现了自定义登录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/a/480375.html

相关文章:

  • 网络营销网站建设哪家好设计网站用户需求分析报告
  • 学生个人博客网站模板微信crm软件
  • 响应式网站算几个页面手机网站建设价钱是多少
  • 网站建设做什么好成品网站好还是自助建站好
  • 网站建设中 优秀账户的标准网络加盟
  • 嘉兴网站开发公司电话ftp网站备份
  • 西安做企业网站排名赌粉在哪个平台引流
  • 郑州企业网站优化服务哪家好建e全景室内设计网
  • 网站怎么做用户登录数据库中国制造网是干什么的
  • 保定手机网站湖南企业app下载
  • 自建网站有哪些做网站要注意哪些
  • 网站开发上市公司公众号排名优化软件
  • 培 网站建设方案 doc外贸网站 开源
  • 社交网站开发平台wordpress impreza
  • 做ppt网站有哪些内容网站建设初期的需求分析
  • 南通通州区网站制作WordPress网站文章导出导入
  • 重庆专业做网站成都大型广告公司有哪些
  • 官方网站建设网站重庆seo论
  • 北京网站建设外包公司排名坑梓网站建设
  • 湘潭网站建设 都来磐石网络上海专建贸易有限公司
  • 网站302跳转线上推广软件
  • 02--CSS基础(1)
  • 杭州市建设住房保障局网站美食网站建设的功能
  • 济南网站建设抖音平台logo生成器免费版
  • Python学习历程——字符串相关操作及正则表达式
  • 自己电脑怎样做网站西安招聘网站
  • 重庆网站建设就选承越线上营销推广公司
  • 深圳设计网站推荐那样的网站18年
  • 营销型网站建设论文wordpress升级php版本崩溃
  • 怎么做企业网站建设方案专业企业建站价格