表单认证机制
11.1. 概述
HTTP表单认证,使用AuthenticationProcessingFilter来处理一个登录表单。 这是系统认证最终用户的最常见的一种方法。 基于表单认证与DAO和JAAS认证提供器是完全兼容的。
11.2. 配置
登录表单包含j_username 和 j_password 输入框,然后将数据发送到过滤器监听的一个URL(默认是/j_spring_security_check)。 你应该把AuthenticationProcessingFilter添加到你的application context中:
<bean id="authenticationProcessingFilter"
class="org.springframework.security.ui.webapp.AuthenticationProcessingFilter">
<property name="authenticationManager" ref="authenticationManager"/>
<property name="authenticationFailureUrl" value="/login.jsp?login_error=1"/>
<property name="defaultTargetUrl" value="/"/>
<property name="filterProcessesUrl" value="/j_spring_security_check"/>
</bean>
配置好的AuthenticationManager会处理每个认证请求。 如果认证失败,浏览器会重定向到authenticationFailureUrl。 AuthenticationException会被放到HttpSession中,属性名是AbstractProcessingFilter.SPRING_SECURITY_LAST_EXCEPTION_KEY,在错误页里为用户提供一个出错原因。
如果认证成功了,得到的Authentication对象会被放到SecurityContextHolder中。
一旦SecurityContextHolder更新了, 浏览器需要重定向到目标URL,这个URL通常保存在HttpSession里,属性名是AbstractProcessingFilter.SPRING_SECURITY_TARGET_URL_KEY。 这个属性自动由ExceptionTranslationFilter在抛出AuthenticationException异常的时候设置,这样在登录完成之后,用户可以跳转到最初尝试访问的位置。 如果因为一些原因,HttpSession没办法分析目标URL,浏览器将重定向到defaultTargetUrl属性的值。
分享到:
相关推荐
### Spring Security 2.0.x完全中文参考文档 #### 序言 本文档旨在为用户提供一份详尽且全面的Spring Security 2.0.x版本的中文指南,它不仅覆盖了核心概念、配置方法以及实际应用案例,还深入探讨了安全框架的...
Spring Security 2.0 提供了基础的认证和授权功能,而3.0进一步强化了模块化设计。这使得开发者可以根据项目需求选择合适的组件,如Web安全模块、方法安全模块和密码存储模块等。 2. **表达式式访问控制...
4. **示例应用程序**:文档提供了多个示例应用程序,如教程示例、LDAP示例、OpenID示例、CAS示例、JAAS示例和预认证示例,以帮助开发者了解如何在不同场景下应用Spring Security。 5. **Servlet应用程序**:这部分...
7. 表单登录:Spring Security支持基于表单的登录机制,允许自定义登录页面和处理过程。 8. 注销处理:Spring Security提供了灵活的注销处理机制,开发者可以自定义注销成功处理器和注销处理程序。 9. OAuth2.0和...
Acegi的核心优势在于其高度集成Spring框架的能力,这使得开发者可以在不增加额外复杂性的情况下轻松实现安全机制。 #### 二、Acegi认证服务概述 认证是Acegi安全框架中的重要组成部分之一,它的主要目的是验证用户...
10. **表单(Forms)**:Activiti 可以与表单引擎集成,为用户提供友好的交互界面,填写和提交任务相关数据。 11. **API 和集成**:Activiti 提供了丰富的 Java API 和 RESTful API,方便开发者进行流程控制、查询...
《Spring 3.0 + Spring Security 3.1.4 API 中文版》是一份集成了Spring框架3.0和Spring Security 3.1.4的中文帮助文档,旨在为开发者提供详尽的API参考和指导。这两个核心组件在企业级Java应用开发中扮演着至关重要...
**DWR 2.0 知识点详解** DWR(Direct Web Remoting)是一种开源JavaScript库,它允许Web应用程序与服务器端Java代码进行实时交互,实现...文档的深入浅出和通俗易懂使得学习过程更为轻松,是DWR初学者的必备参考资料。
Hibernate中文参考文档V3.2.chm提供了关于实体类、映射文件、查询语言(HQL)及 Criteria 查询等方面的详细信息,使得开发者能更便捷地处理数据库操作,无需过多关注SQL语句。 4. **Spring Security**:Spring ...
虽然 Acegi 已经被 Spring Security(自 Spring 2.0 版本起)所取代,但 Spring Acegi 3 在当时依然是许多项目中的首选安全组件。 **身份验证** 在 Spring Acegi 3 中,身份验证过程是核心功能之一。它支持多种...
- **完整文档**:提供了详尽的参考文档、JavaDoc文档以及相关的书籍资源。 #### 六、支持的应用类型 Acegi安全框架可以应用于各种类型的应用程序,包括但不限于: - **自包含部署包**:如WAR、JAR或EAR文件。 - **...
图片到图片装载器、绘制火焰效果的X坐标,Y坐标、得到X坐标,Y坐标值、绘制火焰效果Image…… Java加密解密工具集 JCT v1.0源码包 5个目标文件 内容索引:JAVA源码,综合应用,JCT,加密解密 WDSsoft的一款免费源代码 JCT ...
标题中的"ssi登陆验证"指的是一个基于Web应用的登录验证系统,它采用了Spring 2.0、Struts 2.3以及iBatis 2.3这三个组件进行整合开发。这个系统的核心目标是确保用户在访问特定Web资源时能够通过有效的身份验证。接...
4. **Spring Boot微服务**:详细讲解各个微服务的职责,如流程引擎服务、用户认证服务、数据存储服务等,以及如何使用Spring Boot的特性进行服务的开发和部署。 5. **Angular UI**:介绍如何利用Angular构建用户...