- 浏览: 263765 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (87)
- Java (6)
- Frameworks (1)
- JavaWeb (3)
- Spring (6)
- Hibernate (26)
- Maven (2)
- Plugin (1)
- Velocity (1)
- Freemarker (1)
- Spring security (18)
- Google (5)
- Guice (5)
- rmi (1)
- Annotation (1)
- Binding (1)
- commons-fileupload (3)
- fileupload (3)
- ehcache (1)
- ApplicationContext (1)
- Resource (1)
- Validator (1)
- PropertyEditor (1)
- one-to-many (5)
- cascade (2)
- MessageSource (1)
- Serialize (1)
- Serializable (1)
- delete (1)
- delete-orphan (1)
- fetch (1)
- one-to-one (1)
- join (4)
- DomainObject (1)
- CRUD (1)
- composite-element (1)
- Hibernate ORM (14)
- dynamic-insert (1)
- dynamic-update (1)
- Search (1)
- DDD (0)
- Job (0)
- element (1)
- Unique (1)
- Group (1)
- tomcat (1)
- https (1)
- mysql (1)
最新评论
-
xurunchengof:
[url][url][url][img][img][img][ ...
Spring Security 3多用户登录实现之三 验证过滤器 -
Wind_ZhongGang:
yo8237233 写道你这样的话如果上传文件超过了50000 ...
Spring集成Commons fileupload,文件上传 -
yo8237233:
你这样的话如果上传文件超过了50000000就会报异常
Spring集成Commons fileupload,文件上传 -
zhuzhiguosnail:
Wind_ZhongGang 写道lianglaiyang 写 ...
Spring Security 3多用户登录实现一 -
曾老师:
?????
Spring Security 3用户登录实现之十 用户切换
Spring Security为我们提供了两种方式的自动登录,一种是基于Cookie的自动登录,想实现这种自动登录功能,需要使用TokenBasedRememberMeServices类,如果想扩展自己的特殊登录,可以继承该类;一种是基于持久化存储的自动登录,需要使用PersistentTokenBasedRememberMeServices类,两者都继承了抽象类AbstractRememberMeServices,实现了RememberMeServices接口,查看RememberMeServices源代码可以发现,该接口提供了三个方法,autoLogin方法是实现自动登录功能的,loginSuccess是当第一次登录成功时,记录用户相关凭证及自动登录相关设置到Cookie或持久化存储当中的,loginFailure是当我们密码修改或Cookie过期等进行自动登录时,导致登录失败调用的,主要作用是删除相关Cookie或持久化信息的。当我们访问一个未登录却需要登录验证的资源时,RememberMeAuthenticationFilter过滤器会调用这个方法,并通过Cookie或持久化存储得到用户凭证相关信息,并通过特有的RememberMeAuthenticationToken和RememberMeAuthenticationProvider来实现类似之前的用户自己登录的流程。
这里来看看如何实现基于Cookie的自动登录。
1.启用RememberService服务
<remember-me services-ref="rememberMeServices" key="ZhongGang"/>
2.配置自动登录凭证存储方式
<beans:bean id="rememberMeServices" class="org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices"> <beans:property name="key" value="ZhongGang"/> <!--<beans:property name="alwaysRemember" value="true"/>--> <beans:property name="parameter" value="rememberMe"/> <beans:property name="tokenValiditySeconds" value="604800"/> <beans:property name="userDetailsService" ref="userService"/> </beans:bean>
最后需要在拦截登录表单的过滤器,也就是继承或实现了AbstractAuthenticationProcessingFilter类中配置上这个rememberMeServices
<beans:bean id="multipleAuthenticationProcessingFilter" class="com.template.security.filter.MultipleAuthenticationProcessingFilter"> <beans:constructor-arg value="/login/check"/> <beans:property name="tokenResolvers"> <beans:list> <beans:ref bean="backendAuthenticationTokenResolver"/> <beans:ref bean="forendAuthenticationTokenResolver"/> </beans:list> </beans:property> <beans:property name="authenticationManager" ref="authenticationManager"/> <beans:property name="authenticationSuccessHandler" ref="multipleAuthenticationSuccessHandler"/> <beans:property name="authenticationFailureHandler" ref="multipleAuthenticationFailureHandler"/> <beans:property name="rememberMeServices" ref="rememberMeServices"/> </beans:bean>
- TEMPLATE.zip (187.9 KB)
- 下载次数: 267
评论
不知道你说的3个manage是什么意思?
谢谢你的支持 共同进步
http://www.blogjava.net/fastzch/archive/2010/03/10/315028.html
<!-- 一个自定义的filter,必须包含authenticationManager,accessDecisionManager,securityMetadataSource三个属性,
我们的所有控制将在这三个类中实现,解释详见具体配置 -->
<beans:bean id="myFilter" class="com.robin.erp.fwk.security.MyFilterSecurityInterceptor">
<beans:property name="authenticationManager"
ref="authenticationManager" />
<beans:property name="accessDecisionManager"
ref="myAccessDecisionManagerBean" />
<beans:property name="securityMetadataSource"
ref="securityMetadataSource" />
</beans:bean>
不知道你说的3个manage是什么意思?
谢谢你的支持 共同进步
发表评论
-
Spring Security 之 Session Management
2013-01-06 11:43 5612Spring Security为我们提供了Sess ... -
Spring Security 之 Digest Authentication
2013-01-04 16:22 0<?xml version=" ... -
Spring Security 之 Basic Authentication
2013-01-04 11:58 2048Spring Security实现Basic A ... -
Spring Security 3用户登录实现之十二 授权判断
2012-11-29 15:38 2251Spring Security在验证用户登录后的另 ... -
Spring Security 3多用户登录实现之十一 退出
2012-11-19 21:41 2660Spring Security的退出功能由Logou ... -
Spring Security 3用户登录实现之十 用户切换
2012-11-17 18:15 6337部分情况下用户希望能够在不知道其它用户账号及密码的 ... -
Spring Security 3多用户登录实现之九 基于持久化存储的自动登录
2012-11-17 00:40 6313Spring Security实现自动登录的基本流 ... -
Spring Security 3多用户登录实现之七 用户验证失败处理改进
2012-11-11 11:24 8982验证登录失败后的处理的常见处理是返回到登录页面,并 ... -
Spring Security 3多用户登录实现之六 用户验证后处理
2012-11-11 00:42 4232验证用户后主要有这样两种走向,一种是验证失败,一种 ... -
Spring Security 3多用户登录实现之五 验证用户凭证
2012-11-11 00:42 4969有了用户凭证后, 如何验证用户的凭证是否正确呢, 这就需 ... -
Spring Security 3多用户登录实现之四 用户凭证
2012-11-10 20:00 5111前讲讲到AuthenticationFilt ... -
Spring Security 3多用户登录实现之三 验证过滤器
2012-11-10 19:58 15173当填写完成登录表单提交后,首先会被对应的提交表单提起 ... -
Spring Security 3多用户登录实现之二 多登录界面展示
2012-11-10 19:58 9805接前讲,首先针对一个多种用户类型的登录需求,需要先 ... -
Spring Security 3多用户登录实现一
2012-11-10 19:57 5089使用Spring Security 3 来实现多种 ... -
Spring security customize password encoder
2011-07-29 22:21 2427Spring security为我们 ... -
Spring security防用户重复登录
2011-07-28 23:28 3965使用Spring security如何防止用户的重复登录呢 ... -
Spring security用户权限数据库配置
2011-07-28 22:11 6565关于安全性服务,有两个重要的概念需要理解,一是认证,即判断 ... -
Spring security HTTP Basic认证
2011-07-27 21:54 5301Spring security框架集成了多种流行的安全认证 ...
相关推荐
在“Spring Security 3多用户登录实现之九 基于持久化存储的自动登录”这一主题中,我们将探讨如何利用Spring Security来实现多用户登录系统,并通过持久化存储来支持用户的自动登录功能。在这个过程中,我们会涉及...
以下是一些关于实现Spring Security多用户登录退出功能的关键知识点: 1. **配置注销URL**: 在Spring Security的配置中,你需要定义一个注销URL,如`/logout`。例如,在XML配置中,你可以使用`<http>`元素的`...
总之,这个"spring security 完整项目实例"涵盖了Spring Security的核心组件和用法,包括用户管理、身份验证、权限控制、会话管理等多个方面。通过学习和实践这个项目,开发者能够深入理解Spring Security的工作原理...
### Spring Security3 相关知识点概述 #### 第一章:一个不安全应用的剖析 **安全审计** - **目的**:识别系统中的安全隐患,并评估安全措施的有效性。 - **过程**:通过模拟攻击来测试系统的安全性,分析日志记录...
登录成功后,Spring Security会自动处理用户的会话和认证信息。注销功能可以通过调用`SecurityContextHolder.clearContext()`来实现。 7. **异常处理** 对于认证和授权失败的情况,Spring Security会抛出相应的...
- **Remember Me服务**:实现自动登录功能,通过设置cookie存储用户的登录状态。 - **CSRF防护**:防止跨站请求伪造攻击,Spring Security 3.1默认开启CSRF保护。 - **国际化支持**:Spring Security支持多语言...
在这个“spring-security”案例中,我们将深入探讨Spring Security如何实现权限管理和登录权限。 1. **Spring Security基本概念** - **身份验证(Authentication)**:确认用户身份的过程,通常涉及用户名和密码。...
Spring Security 实现记住我下次自动登录功能过程详解 Spring Security 是一个功能强大且广泛使用的 Java 认证和授权框架,提供了许多功能强大的功能,例如认证、授权、RememberMe 等。在本文中,我们将详细介绍...
本文将深入剖析Spring Security 3的核心概念、架构以及源码实现,帮助读者理解其工作原理,提升在实际开发中的应用能力。 一、Spring Security概述 1.1 框架目标 Spring Security旨在为Java应用提供全面的安全管理...
Spring Security提供Remember Me服务,可以让用户在一段时间内免登录访问,通过在cookie中存储安全的凭据实现。 5. **CSRF防护**: 默认情况下,Spring Security开启CSRF防护,通过生成并验证CSRF令牌,防止跨站...
- 实现基于Cookie的自动登录策略。 - **示例代码**: 在`spring-security.xml`中配置持久化策略。 **17. 匿名登录** - **17.1 配置文件** - 在配置文件中启用匿名登录功能。 - **示例代码**: 在`spring-...
SpringSecurity是Java领域中一款强大的安全框架,专为Web应用程序设计,用于实现身份验证和授权。这个名为"SpringSecurity素材.zip"的压缩包文件很可能包含了关于如何使用SpringSecurity进行安全控制的各种资料。...
它通过存储在cookie中的特殊令牌实现,当用户下次访问时,系统会自动恢复其认证状态。 6. **异常处理**:Spring Security提供了处理安全异常的机制,如未授权(UnauthorizedException)或未认证...
在提供的压缩包文件"springsecurity_database"中,可能包含了示例代码、配置文件和其他相关资源,可以帮助你理解和实现上述功能。在实际项目中,你需要根据自己的需求调整和扩展这些示例,以构建一个符合业务场景的...
8. **国际化支持**:SpringSecurity提供多语言支持,可以根据用户设置显示相应的错误消息和提示信息。 9. **自定义配置**:SpringSecurity可以通过XML配置或Java配置进行高度定制,开发者可以根据实际需求调整安全...
Spring Security的`rememberMe`功能通过使用持久化令牌方案,实现了安全的自动登录,保护了用户的登录状态,同时也防止了多设备同时登录的问题。理解和配置这一功能对于提升应用的安全性和用户体验至关重要。正确...
通过Acegi Security,开发者可以轻松地实现基于角色的安全性,确保只有经过验证的用户才能访问特定资源。 ##### 1.2 历史背景 Acegi Security最初由Ben Alex开发,并在Spring框架社区内得到了广泛的采纳和支持。...
Spring Security通过存储特定的cookie来实现Remember Me功能,确保安全性和便利性。 7. **Exception Translation**: Spring Security将安全相关的异常转换为HTTP响应状态,如401未经授权和403禁止访问。这使得前端...
Spring Security的Remember Me服务通过在用户登录时创建一个长期的凭据,并将其存储在用户的Cookie中,以便在后续的无状态请求中自动重新认证用户。 7. **CSRF防护**:为了防止跨站请求伪造,Spring Security提供了...