Spring Security

基本原理

Spring Security 基本原理(如下图):


Spring Security

认证模块(绿色):

  • 账户密码
  • /login.html
  • 三方:短信、QQ、微信等

权限过滤模块(橙色):

  • 不同的用户拥有访问不同URL的权限

异常模块(蓝色):

  • 对于访问异常进行不同的处理:其中包括未登陆、登陆错误、token失效等.

自定义用户认证逻辑

  • 处理用户信息获取
    实现UserDetailsService接口

  • 用户校验逻辑
    UserDetails判断用户是否过期、是否被删除、是否被锁定、密码是否过期

  • 密码的加密和解密
    利用PasswordEncoder接口

个性化用户认证流程

  • 自定义登陆页面
http
  .formLogin()
  .loginPage("")
  .loginProcessingUrl("")

同时需要将两个URL加入非验证中

针对APP和Web不同的登陆做不同的处理:


处理不同类型的请求

注意:系统的配置也需要模块化封装

  • 自定义登陆成功处理
    继承AuthentictionSccessHandler

  • 自定义登陆失败处理
    继承AuthentictionFailureHandler

注意:成功和失败也要考虑返回Json 或 Html

1、认证处理流程源码说明
2、认证结果如何在多个请求间共享
3、获取认证用户的信息

图片验证码

你可能感兴趣的:(Spring Security)