表单认证机制
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-beans-2.0.xsd
struts2-spring-plugin-2.0.11.1.jar,struts2-spring-plugin-2.0.11.1.jar
包含翻译后的API文档:spring-security-core-5.3.9.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-core:5.3.9.RELEASE; 标签:springframework、security...
包含翻译后的API文档:spring-security-oauth2-2.3.5.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security.oauth:spring-security-oauth2:2.3.5.RELEASE; 标签:spring、security...
包含翻译后的API文档:spring-security-web-5.2.0.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-web:5.2.0.RELEASE; 标签:springframework、security、...
spring-dwr-2.0.xsd spring 与 DWR进行配置
包含翻译后的API文档:spring-boot-actuator-autoconfigure-2.3.12.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework.boot:spring-boot-actuator-autoconfigure:2.3.12....
包含翻译后的API文档:spring-security-core-5.2.0.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-core:5.2.0.RELEASE; 标签:springframework、security...
包含翻译后的API文档:spring-security-rsa-1.0.10.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-rsa:1.0.10.RELEASE; 标签:spring、rsa、security、...
spring-boot-starter-web-2.0.7.0.jar
spring-aop-2.0.jar spring-aop-2.5.1.jar spring-aop-2.5.2.jar spring-aop-2.5.4.jar spring-aop-2.5.5.jar spring-aop-2.5.6.jar spring-aop-3.0.0.RELEASE.jar spring-aop-3.0.2.RELEASE.jar spring-aop-sources...
spring上传文件jar包括commons-fileupload-1.2.1.jar和commons-io-2.0.jar。 官方版本,放心使用。
包含翻译后的API文档:spring-security-jwt-1.0.10.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework.security:spring-security-jwt:1.0.10.RELEASE; 标签:spring、security...
包含翻译后的API文档:spring-security-jwt-1.0.10.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-jwt:1.0.10.RELEASE; 标签:spring、security、jwt、...
spring-framework-2.0-with-dependencies.zi
包含翻译后的API文档:spring-security-config-4.2.8.RELEASE-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:org.springframework.security,artifactId:spring-security-config,version:4.2.8....
包含翻译后的API文档:spring-security-crypto-5.5.2-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-crypto:5.5.2; 标签:springframework、security、spring、...
spring-framework-2.0-with-dependencies.zip spring-framework-2.0-with-dependencies.zip spring-framework-2.0-with-dependencies.zip spring-framework-2.0-with-dependencies.zip spring-framework-2.0-with-...
包含翻译后的API文档:spring-security-config-5.2.0.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-config:5.2.0.RELEASE; 标签:springframework、...