一、spring boot框架下配置
A:登录配置(在WebSecurityConfigurerAdpater实现类的configure()方法中配置)
B:登录成功配置
默认情况下,用户登录成功后由于RequestCache中保存着登录之前的url,将自动跳转到该页面;如果用户需要在登录成功后执
行一些操作,就需要自定义登录成功操作;
A、默认的成功处理类:SavedRequestAwareAuthenticationSuccessHandler
B、自定义处理:
实现AuthenticationSuccessHandler接口,并复写onAnthenticationSuccesss()方法;
要使得自定义登录成功认证生效,需要在WebSecurityConfigurerAdapter接口实现类的configure()方法中添加
successHandler(自定义接口实现类对象)
C:登录失败配置
默认情况下,用户登录失败后会自动跳转到登录页;如果用户需要在登录失败后执行一些操作,就需要自定义登录失败操作
A、默认的失败处理类:SimpleUrlAuthenticationFailureHandler
B、自定义处理:
实现AnthenticationFailureHandler接口,并复写onAuthenticationFailure()方法;
要使得自定义登录成功认证生效,需要在WebSecurityConfigurerAdapter接口实现类的configure()方法中添加
failureHandler(自定义接口实现类对象)
D:注销配置示例(在WebSecurityConfigurerAdapter实现类的configure()方法中配置)
具体参考本人写的认证服务器:https://github.com/zhongss404/authserver
二、spring mvc框架下的配置
A:登录基本配置流程:
a、首先专门为spring security建立一个配置文件(xml)【这里定义为springSecurity.xml】
(注意:配置文件需要引入spring security的NameSpace)
b、在 springSecurity.xml中 定义哪些请求有哪些权限才能通过认证;
c、在 springSecurity.xml中 定义AuthenticationManager进行认证;
d、在 web.xml 中通过
e、在 web.xml 中定义一个filter,用来拦截需要交给Spring Security处理的请求;(注意:该filter一定要定义在其他拦截请求
之前)
B:自定义登录页、登录成功、登录失败(在上述配置基础上)
1、自定义登录页当指定了http元素的security属性为none时,表示其对应pattern的filter链为空;
2、登录成功 --- 通过 authentication-success-handler-ref 指定
authentication-success-handler-ref 对应一个 AuthencticationSuccessHandler 实现类的引用
3、登录失败 --- 通过 authentication-failure-handler-ref 指定
authentication-failure-handler-ref 对应一个 AuthencticationFailureHandler 实现类的引用