`
zhh9106
  • 浏览: 58207 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

springsecurity第三章——一些的基本功能——自定义登录退出的实现

阅读更多

在了解了springSecurity的大体认证过程之后,就要从基本开始一步一步的深入学习其内部实现。

 

1、自定义登录界面

首先,一个软件应用要有一个验证入口(登录界面),而springsecurity提供了一个默认的登录界面,但是由于用户体验和结合自身网站的特性,一般都是自定义一个登录界面。而security框架的开发者也想到了这个问题,所以security提供了其他开发者设置自定义登录界面的方法。

 

配置自定义登录页面步骤:1、在配置文件中添加一句配置:<form-login login-page="/login.jsp">,这里login-                                                            page的值根据各自网站而定。

                                          2、security对自定义登陆页面的form表单也有一定的要求,因为security的过滤器                                                       默认拦截的action是:j_spring_security_check,提交方法是:post,用户                                                                  名和密码的参数的name也有限制,具体例子如图:

                                         
 

在我们开发自定义登陆页的过程中,我们需要遵守security的这些约定。至于为什么会配置了这个,就能实现自定义登录机制呢?

 

这是因为配置文件中配置了<http auto-config="true"> 这个配置会默认配置一个叫DefaultLoginPageGeneratingFilter的过滤器,系统检测到没有自定义登陆页时,过滤器就会默认跳到默认登陆页,但当我们配置了<form-login login-page="/login.jsp">这个配置时,那么就会覆盖掉原来的默认配置,所以自定义登录页就生效了。

 

 2、自定义退出

因为配置文件中配置了<http auto-config="true"> ,所以如果没有特别去定义的话,所有的配置都按照默认配置去做。security也默认配置了退出的url:j_spring_security_logout,过滤器链中的logoutFilter会默认去匹配这个url,然后执行退出。当然,由于每个应用都不同,退出的方式及其退出前的操作也不同,所以security提供了一个标签让开发者自定义退出功能。

 

 自定义退出的步骤:

1、在配置文件里,配置一句:<logout invalidate-session="true"  logout-success-url="logoutsuccess.jsp" logout-url="/logout">,如果按照这句配置,执行退出功能时,会有以下三个效果:

 

一、使得当前http session 失效(如果invalidate-session值为true)

二、清除securityContext(真正退出)

三、将页面重定向到ogout-success-url指定的url

 

 

  • 大小: 13.6 KB
分享到:
评论

相关推荐

    spring mvc 和spring security自定义登录

    综上所述,结合Spring MVC和Spring Security实现自定义登录,需要理解两者的基本原理,配置合适的过滤器、认证提供者和授权规则。通过这种方式,我们可以创建一个既安全又易于维护的Web应用程序,为用户提供安全的...

    spring-security实现自定义登录认证.rar

    本资源“spring-security实现自定义登录认证.rar”包含了一个使用Spring Security进行登录认证的示例,以及JWT(JSON Web Tokens)与Spring Security集成的代码。 首先,让我们了解Spring Security的基本工作原理。...

    SpringSecurity退出功能实现的正确方式(推荐)

    Spring Security 退出功能实现的正确方式 Spring Security 框架提供了强大的安全功能,其中退出功能是非常重要的一部分。本文将介绍如何正确地实现 Spring Security 退出功能。 一、logout 最简及最佳实践 使用 ...

    Spring Security 3系列文章——入门篇(一)

    **Spring Security 3 系列文章——入门篇(一)** Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,广泛应用于Java企业级应用和Spring Boot项目中。本篇将作为Spring Security 3的入门介绍,帮助...

    Spring security 自定义密码加密方式的使用范例。

    首先,我们需要了解Spring Security的基本架构。它主要包括以下组件: 1. **Filter Security Chain**:这是Spring Security的核心,一系列过滤器负责拦截请求,执行安全相关的操作。 2. **Authentication Manager**...

    spring security3.1 实现验证码自定义登录

    《Spring Security 3.1 实现验证码自定义登录详解》 在现代Web应用程序的安全管理中,Spring Security是一个不可或缺的框架,它提供了强大的访问控制和身份验证功能。在本文中,我们将深入探讨如何在Spring ...

    Spring Security OAuth2集成短信验证码登录以及第三方登录

    Spring Security OAuth2集成短信验证码登录以及第三方登录 Spring Security OAuth2是基于Spring Cloud/Spring Boot环境下使用OAuth2.0的解决方案,为开发者提供了全套的组件来支持OAuth2.0认证。然而,在开发过程中...

    springsecurity2 自定义filter实现

    在Spring Security框架中,自定义过滤器是实现特定安全需求的一种常见方式。Spring Security的核心功能是通过一系列的Filter链来处理HTTP请求,这些Filter包括认证、授权等关键操作。本篇我们将深入探讨如何在Spring...

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

    以下是一些关于实现Spring Security多用户登录退出功能的关键知识点: 1. **配置注销URL**: 在Spring Security的配置中,你需要定义一个注销URL,如`/logout`。例如,在XML配置中,你可以使用`&lt;http&gt;`元素的`...

    Spring Security 3多用户登录实现一

    在本文中,我们将深入探讨如何在Spring Security 3中实现多用户登录功能。首先,我们需要理解Spring Security的基本架构和核心概念。 1. **Spring Security 架构** Spring Security的核心组件包括: - **Filter ...

    基本的spring mvc + spring security实现的登录(无数据库)

    在本项目中,我们主要探讨的是如何利用Spring MVC和Spring Security框架构建一个基本的无数据库登录系统。Spring MVC是Spring框架的一部分,用于处理Web应用程序的请求-响应模型,而Spring Security则是一个强大的...

    springSecurity 实现传参

    在这个场景中,我们关注的是如何使用Spring Security实现登录验证以及在登录过程中传递参数,特别是记录并返回用户登录前的页面。我们将深入探讨这个过程,并结合MySQL数据库的使用。 首先,让我们了解Spring ...

    Spring Security 资料合集

    这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...

    spring security 4 小例子带自定义过滤器

    3. **集成Spring Security**:为了让自定义过滤器能与Spring Security的其他组件协同工作,我们可能需要设置一些属性,如`AuthenticationManager`或`SecurityContextHolder`。例如,我们的自定义过滤器在验证成功后...

    spring security实现动态授权

    总的来说,Spring Security的动态授权功能使得权限管理变得更加灵活和高效。通过对源代码的适当修改,我们可以构建一个完全可配置的权限管理系统,适应不断变化的业务需求。这个过程涉及多个组件的定制,但一旦设置...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    3. **定制Filter**:在Spring Cloud Gateway中,我们可以自定义WebFlux Filter,利用Spring Security提供的API进行认证和鉴权。这通常涉及到`@PreAuthorize`和`@Secured`等注解的使用,以控制对特定路由的访问权限。...

    SpringBoot + SpringSecurity + JPA 实现用户角色权限登录认证

    本项目结合了SpringBoot、SpringSecurity以及JPA(Java Persistence API),实现了用户角色权限的登录认证功能。以下是关于这些技术及实现过程的详细讲解。 1. **SpringBoot**:SpringBoot简化了Spring应用的初始...

    springboot springsecurity动态权限控制

    - 如果默认的过滤器不能满足需求,可以编写自定义过滤器,插入到Spring Security的过滤器链中,实现更复杂的逻辑,比如基于URL、方法或自定义条件的权限控制。 5. **JWT令牌**: - 为了支持API的无状态认证,可以...

    自定义Spring Security的身份验证失败处理方法

    自定义Spring Security的身份验证失败处理方法 在 Spring Security 中,身份验证失败处理方法是一个非常重要的组件,它能够帮助我们处理身份验证失败的情况。然而,默认的身份验证失败处理方法并不总是能够满足我们...

    Spring Security3中文文档

    该章节分为两个部分,介绍了Spring Security3的基础概念,包括如何设置安全上下文、理解Spring Security的架构以及如何使用Spring Security进行基本的认证和授权。 ### 第二章:深入理解Spring Security3 本章深入...

Global site tag (gtag.js) - Google Analytics