`
Wind_ZhongGang
  • 浏览: 263157 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring Security 3多用户登录实现之十一 退出

 
阅读更多

     Spring Security的退出功能由LogoutFilter过滤器实现,只需要一段简单的配置就可以在项目中实现退出功能,如下示

 

 

<logout logout-url="/logout" logout-success-url="/login"/>

 

    1.logout-url表示退出的URL地址

  2.logout-success-url表示退出成功后应该转向的URL地址,默认实现类是根据这个URL构造一个SimpleUrlLogoutSuccessHandler类

 

    根据这段配置Spring Security会生成一个LogoutFilter,并将设置的属性相应的注入LogoutFilter中,LogoutFitler中还包括一个LogoutHandler的列表,每个实现LogoutHandler接口的类都表示需要在退出时完成的事情,诸如清除记录自动登录凭证相关信息的Cookie,致Session无效,清除持久化存储中记录的自动登录凭证相关数据,前提是你使用的持久化存储来保存自动登录凭证相关数据的。

 

    如果配置logout-success-url无法满足需求,希望能再做点其它事情,还可以实现LogoutSuccessHandler,用来处理特定的退出成功后希望完成的事情。这里的需求因为是多种类型的用户登录,所以针对每个不同类型的用户退出操作也各有不同,后台登录用户退出应该转向后台登录界面,前台登录用户退出应该转向前台登录界面,所以我编写了一个特定的实现LogoutSuccessHandler的MultipleLogoutSuccessHandler,判断的依据主要是根据AuthenticationToken的类型来的,记得前面讲过针对后台登录使用的是BackendAuthenticationToken,前台登录使用的是ForendAuthenticationToken,所以这里就可以根据不同的AuthenticationToken来实现不同的退出成功转向的操作。

 

 

 

分享到:
评论

相关推荐

    spring security + oauth 2.0 实现单点登录、认证授权

    Spring Security和OAuth 2.0是两个在Web应用安全领域广泛应用的框架,它们结合使用可以构建强大的单点登录(SSO)和认证授权系统。在这个系统中,`xp-sso-server`代表了认证服务器,而`xp-sso-client-a`和`xp-sso-...

    Spring security认证与授权(一)源代码

    Spring Security提供了Remember Me服务,使得用户在关闭浏览器后仍能在一段时间内保持登录状态。这个功能通过`PersistentTokenBasedRememberMeServices`实现,它可以存储在数据库中的持久化令牌来识别用户。 6. **...

    SSH+Spring Security+MySQL

    3. 创建Spring Security的配置文件,定义认证和授权规则,包括用户DetailsService、AuthenticationProvider、以及访问决策管理器等。 4. 编写自定义的登录、注销Action,处理用户的登录请求和退出操作。 5. 在页面上...

    spring security3配置和使用

    为了更好地理解和应用 Spring Security3,项目提供了多个范例程序,这些示例涵盖了从基础到高级的各种用例。以下是一些典型的应用场景: 1. **基本认证**:实现一个简单的用户名/密码认证流程。 2. **表单登录**:...

    spring security 参考手册中文版

    3. Spring Security 4.2的新特性 27 3.1 Web改进 27 3.2配置改进 28 3.3杂项 28 4.样品和指南(从这里开始) 28 5. Java配置 29 5.1 Hello Web安全Java配置 29 5.1.1 AbstractSecurityWebApplicationInitializer 31 ...

    springsecurity.pdf

    随着Spring框架的发展,Acegi Security逐渐演进成为Spring Security,以更好地融入Spring生态系统并支持更多的安全特性。 ##### 1.3 发布编号 文档提到的是Acegi Security 1.0.7版本,这是在Spring Security正式...

    Spring security实现记住我下次自动登录功能过程详解

    Spring Security 实现记住我下次自动登录功能过程详解 Spring Security 是一个功能强大且广泛使用的 Java 认证和授权框架,提供了许多功能强大的功能,例如认证、授权、RememberMe 等。在本文中,我们将详细介绍...

    spring-security-reference.pdf

    如何设置默认的登录成功跳转地址和注销处理逻辑,包括在退出用户时的处理选项。 在以上信息中,我们看到了Spring Security作为企业级Java应用程序安全框架的主要组成部分,包括了对认证、授权、会话管理等方面的...

    Spring boot 和Spring Security4最新整合实例.docx

    Spring Boot 和 Spring Security 4 最新整合实例是一篇详细的教程,旨在指导用户如何使用 Spring Boot 和 Spring Security 4 实现用户身份认证、登录退出、用户密码加密及验证、remember-me 功能等安全机制。...

    基于 spring-security 实现 RBAC 权限模型-hello-security.zip

    1. **配置 Spring Security**:首先,我们需要在 Spring Boot 应用中引入 Spring Security 依赖,并进行基本的配置,例如定义安全拦截器路径、登录页面和退出逻辑。 2. **定义角色和权限**:创建枚举类型或数据库表...

    spring-security-3.0.5.RELEASE

    3. **表达式语言**:在3.0.5中,Spring Security引入了Spring EL(Expression Language)来增强访问控制表达式,允许在访问控制规则中使用更复杂的条件判断,比如`hasRole('ROLE_ADMIN')`或`@Secured('IS_...

    springsecurity

    在给定的压缩包文件中,我们可以看到一些关键的文件,它们与Spring Security的实现和功能紧密相关。 1. **error.html**: 这个文件通常用于处理应用程序中的错误页面。在Spring Security中,如果用户尝试访问他们...

    Spring boot 和Spring Security4最新整合实例.pdf

    总的来说,Spring Boot与Spring Security 4的整合涉及到多个步骤,包括引入依赖、配置安全策略、实现用户认证机制、密码加密、remember-me功能以及登录和退出的处理。这个实例提供了全面的指导,帮助开发者在Spring ...

Global site tag (gtag.js) - Google Analytics