SpringBoot第五篇SpringSecurity 认证机制

一、SpringSecurity主要用于鉴权和授权功能,他的过滤器链路如图

 

 

  1. BasicAuthenticationFilter实现的是HttpBasic模式的登录认证
  2. UsernamePasswordAuthenticationFilter实现用户名密码的登录认证
  3. RememberMeAuthenticationFilter实现登录认证的“记住我”的功能
  4. SmsCodeAuthenticationFilter实现短信验证码登录认证
  5. SocialAuthenticationFilter实现社交媒体方式登录认证的处理
  6. Oauth2AuthenticationProcessingFilter和Oauth2ClientAuthenticationProcessingFilter实现Oauth2的鉴权方式

一、登录认证,调用方法ip/login,自动触发UsernamePasswordAuthenticationFilter过滤器

   自定义过滤器,继承该过滤器,可以实现验证之前的操作,比如验证码判断

     1.重写验证方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public Authentication attemptAuthentication(HttpServletRequest req, HttpServletResponse res)
          throws AuthenticationException {
      try {
          String username = req.getParameter("username");
          String password = req.getParameter("password");
          //验证码判断,手机验证码判断等
          // 将用户信息放入authenticationManager
          return authenticationManager.authenticate(
                  new UsernamePasswordAuthenticationToken(
                          username,
                          password,
                          Collections.emptyList())
          );
      } catch (Exception e) {
          throw new RuntimeException(e);
      }
  }

  2、验证成功方法重写,可以返回token等数据

1
2
3
4
    protected void successfulAuthentication(HttpServletRequest req, HttpServletResponse res,
                                            FilterChain chain, Authentication auth) throws IOException, ServletException {
//返回处理的token
}

  3、

 

posted on   topguntopgun  阅读(234)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示