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;
}

最新文章

  1. ImportError: No module named 'requests'
  2. java基础算法之选择排序
  3. 不在折腾---hive-0.13.1-bin
  4. [BZOJ1143][CTSC2008]祭祀river(最长反链)
  5. js点击按钮倒计时setTimeout和setInterval
  6. DP(优化) UVALive 6073 Math Magic
  7. php 同步因子的并发处理
  8. opensuse安装mysql-workbench
  9. ECMA中关于if与else的关系的一句英文,感觉比较经典
  10. BZOJ 1084 最大子矩阵
  11. PHP学习之-面向对象
  12. c++读取REG_MULTI_SZ类型注册表
  13. spring、spring mvc、mybatis框架整合基本知识
  14. Ansible@一个高效的配置管理工具--Ansible configure management--翻译(一)
  15. 机器学习之决策树三-CART原理与代码实现
  16. 《两地书》--Kubernetes(K8s)基础知识(docker容器技术)
  17. 剑指Offer 50. 数组中重复的数字 (数组)
  18. go 练习
  19. HTTP协议(下午茶)
  20. 【Coursera】支持向量机

热门文章

  1. JDOJ 1139 水仙花数
  2. pycharm配置mysql数据库连接访问
  3. ESP8266 SDK开发: 外设篇-GPIO输入检测
  4. [LeetCode] 85. Maximal Rectangle 最大矩形
  5. 检查hdfs块的块-fsck
  6. Qt Quick小项目 - 登陆界面
  7. Java代码质量检查checkstyle, pmd, cpd, p3c,findbugs, jacoco, sonarquebe以及和Jenkins集成
  8. oracle 数据库创建用户并授权
  9. Java se课程设计详解——数据库接口类(1)
  10. FormData的Ajax提交注意事项