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

Spring Security 3多用户登录实现之七 用户验证失败处理改进

 
阅读更多

      验证登录失败后的处理的常见处理是返回到登录页面,并提醒用户发生了何种错误,Spring Security提供了一个通用的验证错误异常,这个抽象类的名字叫做AuthenticationException, 并且还提供了一个名为ExceptionMappingAuthenticationFailureHandler的验证发生异常进行处理的类, 查看源代码可以发现这个类中有一个类型为Map的属性,这个Map的Key值是验证异常的类名, Value值是验证失败后应该转向的URL地址, 这里我在每个URL地址后加上了一个名为error的参数, 参数的值不同代表不同的异常,为了实现前台登录邮件地址错误时,退回到登录界面并提示用户邮件地址错误, 前台登录电话号码错误时,退回到登录界面并提示用户电话号码错误, 后台登录用户名或密码错误时,退回到登录界面并提示用户名或密码错误, 后台登录验证码错误时, 退回到登录界面并提示验证码错误, 我还定义了这几个异常类, 都继承了AuthenticationException类, 分别为EmailNotFoundException, PhoneNotFoundException, UsernameNotFoundException, CaptchaWrongException。其中的配置文件信息如下:

 

 

    <beans:bean id="multipleAuthenticationFailureHandler"
                class="org.springframework.security.web.authentication.ExceptionMappingAuthenticationFailureHandler">
        <beans:property name="exceptionMappings">
            <beans:map>
                <beans:entry key="com.template.security.exception.EmailNotFoundException"
                             value="/forend/login?error=1"/>
                <beans:entry key="com.template.security.exception.PhoneNotFoundException"
                             value="/forend/login?error=2"/>
                <beans:entry key="org.springframework.security.core.userdetails.UsernameNotFoundException"
                             value="/backend/login?error=1"/>
                <beans:entry key="com.template.security.exception.CaptchaWrongException"
                             value="/backend/login?error=2"/>
            </beans:map>
        </beans:property>
    </beans:bean>
0
0
分享到:
评论
2 楼 Wind_ZhongGang 2012-11-14  
xumin_wlt 写道
麻烦楼主贴出这个改进的源码包行否,谢过了,最近也在研究SS,非常感谢楼主这么多分批次的讲解,楼主的<beans:bean id="multipleAuthenticationFailureHandler" 和这里的改进的<beans:bean id="multipleAuthenticationFailureHandler" 重复,所以想看看楼主的这里如何处理,能否贴出具体代码呢?


呵呵  好的  之前的都有 这个忘弄了
1 楼 xumin_wlt 2012-11-14  
麻烦楼主贴出这个改进的源码包行否,谢过了,最近也在研究SS,非常感谢楼主这么多分批次的讲解,楼主的<beans:bean id="multipleAuthenticationFailureHandler" 和这里的改进的<beans:bean id="multipleAuthenticationFailureHandler" 重复,所以想看看楼主的这里如何处理,能否贴出具体代码呢?

相关推荐

    Spring Security 3多用户登录实现一

    **Spring Security 3 多用户登录实现详解** Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架,广泛应用于Java EE平台上的安全解决方案。在本文中,我们将深入探讨如何在Spring Security 3中实现...

    Spring Security 3多用户登录实现之九 基于持久化存储的自动登录

    在“Spring Security 3多用户登录实现之九 基于持久化存储的自动登录”这一主题中,我们将探讨如何利用Spring Security来实现多用户登录系统,并通过持久化存储来支持用户的自动登录功能。在这个过程中,我们会涉及...

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

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

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

    在这个项目中,SpringSecurity被用来处理用户登录、角色权限分配和防止非法请求。 3. **JPA**:Java Persistence API是Java平台上的ORM(对象关系映射)规范,它允许开发者以面向对象的方式操作数据库,将数据对象...

    spring security 3 多页面登录 小秘密小运气

    在"Spring Security 3 多页面登录 小秘密小运气"这个主题中,我们可以深入探讨Spring Security 3如何支持多个登录页面以及其中可能涉及的一些技巧和策略。 首先,Spring Security的核心功能包括身份验证、授权、...

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

    在压缩包文件`spring_gateway_security_webflux`中,可能包含了示例代码或配置文件,用于演示如何在Spring Cloud Gateway中集成Spring Security,实现统一登录认证鉴权。这些资源可以帮助开发者更快地理解和实践上述...

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

    在实现集成登录认证组件时,我们需要了解OAuth2.0认证体系、SpringBoot、SpringSecurity以及Spring Cloud等相关知识。同时,我们还需要了解如何定义拦截器、如何在拦截的通知进行预处理、如何在UserDetailService....

    spring-security多登录页面配置

    在许多大型企业级应用中,为了更好地实现权限管理和用户体验,往往会采用多个登录页面的方式来进行用户身份验证。这种方式能够有效地将不同类型的用户(如前台用户、后台管理员等)进行区分,并根据其角色提供定制化...

    springSecurity 实现传参

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

    spring-security多个登录页面配置

    在Spring Security框架中实现多个登录页面的配置是一项高级特性,主要应用于区分前端用户与后端管理员的不同登录需求。本文将详细介绍如何通过Spring Security配置多个登录页面,并为不同类型的用户设置不同的登录...

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

    在Spring Security和OAuth 2.0的组合中,`xp-sso-server`充当认证中心,处理所有用户的登录和授权请求。 - 当用户在任何客户端应用(如`xp-sso-client-a`或`xp-sso-client-b`)上尝试访问受保护资源时,会被重定向...

    Spring Security 3.pdf

    Spring Security 是一个强大的Java安全框架,专为Java和Spring生态系统设计,用于实现全面的身份验证、授权和服务级安全功能。在Spring Security 3版本中,它引入了许多改进和新特性,以适应不断变化的安全需求和...

    Spring Security实现多次登录失败后账户锁定功能

    要实现多次登录失败账户锁定的功能,我们需要先回顾一下基础知识:Spring Security 不需要我们自己实现登录验证逻辑,而是将用户、角色、权限信息以实现 UserDetails 和 UserDetailsService 接口的方式告知 Spring ...

    spring security3 中文版本

    它提供了许多功能,包括登录表单、记住我功能、多身份验证器、基于注解的安全配置、CSRF 防护、OAuth2 客户端和服务端支持等。Spring Security 的目标是使开发人员能够快速地为应用程序添加安全功能,同时提供足够的...

    利用spring security控制同一个用户只能一次登陆

    标题中的“利用Spring Security控制同一个用户只能一次登录”是指在基于Spring Security的Web应用程序中实现单点登录(Single Sign-On, SSO)的功能,确保同一时间只有一个设备或浏览器会话可以登录同一用户的账户。...

    spring security 完整项目实例

    总之,这个"spring security 完整项目实例"涵盖了Spring Security的核心组件和用法,包括用户管理、身份验证、权限控制、会话管理等多个方面。通过学习和实践这个项目,开发者能够深入理解Spring Security的工作原理...

    spring security实现动态授权

    当用户登录时,系统会根据其角色来决定他们可以访问哪些资源。 首先,我们需要配置Spring Security以使用数据库存储信息。这涉及到以下步骤: 1. **数据模型设计**:创建`User`、`Role`和`Permission`实体类,`...

    单点登录SSO解决方案之SpringSecurity+JWT实现.docx

    ### 单点登录SSO解决方案之SpringSecurity+JWT实现 #### 一、单点登录(SSO)概述 单点登录(Single Sign-On,简称SSO)是一种认证机制,允许用户仅通过一次登录就能访问同一域下的多个应用程序和服务。这种机制...

    SpringBoot+SpringSecurity+WebSocket

    3. 集成SpringSecurity:配置SpringSecurity的WebSecurityConfigurerAdapter,设置登录认证、权限控制等规则。确保WebSocket连接也需要经过SpringSecurity的认证。 4. 客户端支持:在前端JavaScript中使用WebSocket ...

Global site tag (gtag.js) - Google Analytics