springboot 登录实现源代码解析

Posted yg_zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 登录实现源代码解析相关的知识,希望对你有一定的参考价值。

springboot 可以使用springsecurity 作为安全框架,我们可以使用springsecurity 实现安全登录。

springsecurity 是使用一系列的过滤器来实现安全的。

实现用户登录使用的是:

UsernamePasswordAuthenticationFilter过滤器来实现。

他在过滤器链中的位置如下:

技术图片

这个代码的实现逻辑是:

1.拦截地址为 /login的URL。

2.如果地址栏的地址为login 则进行之后的逻辑处理,否则跳过。

技术图片

3.验证用户

技术图片

这个attemptAuthentication方法由 UsernamePasswordAuthenticationFilter 实现,在上下文中获取 用户名和密码。

从上面的代码我们可以看出,代码通过 AuthenticationManager 获取用户接口获取信息。

当成功时:

技术图片

执行上面都代码:

1.设置上下文

2.处理记住密码登录成功消息。

3.调用自定义成功处理器。

当失败时:

技术图片

失败处理接口

public interface AuthenticationFailureHandler 
    void onAuthenticationFailure(HttpServletRequest var1, HttpServletResponse var2, AuthenticationException var3) throws IOException, ServletException;

 

以上是关于springboot 登录实现源代码解析的主要内容,如果未能解决你的问题,请参考以下文章

springboot集成spring security实现restful风格的登录认证 附代码

springboot 登录拦截器

Spring boot:thymeleaf 没有正确渲染片段

#yyds干货盘点# springboot整合Oauth2,GateWay实现网关登录授权验证

嘿从零开始基于SpringBoot 打造在线聊天室(4.4W字最长博文)

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段