spring security自定义登录与注销

本文介绍SpringBoot及SpringMVC框架下登录配置的方法,包括登录、登录成功、登录失败、注销等环节的配置步骤及自定义处理方式。

一、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 中通过<context-param>将springSecurity.xml 指定为Spring的初始配置文件,告诉spring要加载这个文件;


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 实现类的引用


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值