- 浏览: 260023 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (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 3多用户登录实现之八 基于Cookie的自动登录
- 博客分类:
- Spring security
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 5562Spring Security为我们提供了Sess ... -
Spring Security 之 Digest Authentication
2013-01-04 16:22 0<?xml version=" ... -
Spring Security 之 Basic Authentication
2013-01-04 11:58 2017Spring Security实现Basic A ... -
Spring Security 3用户登录实现之十二 授权判断
2012-11-29 15:38 2205Spring Security在验证用户登录后的另 ... -
Spring Security 3多用户登录实现之十一 退出
2012-11-19 21:41 2624Spring Security的退出功能由Logou ... -
Spring Security 3用户登录实现之十 用户切换
2012-11-17 18:15 6265部分情况下用户希望能够在不知道其它用户账号及密码的 ... -
Spring Security 3多用户登录实现之九 基于持久化存储的自动登录
2012-11-17 00:40 6278Spring Security实现自动登录的基本流 ... -
Spring Security 3多用户登录实现之七 用户验证失败处理改进
2012-11-11 11:24 8898验证登录失败后的处理的常见处理是返回到登录页面,并 ... -
Spring Security 3多用户登录实现之六 用户验证后处理
2012-11-11 00:42 4165验证用户后主要有这样两种走向,一种是验证失败,一种 ... -
Spring Security 3多用户登录实现之五 验证用户凭证
2012-11-11 00:42 4891有了用户凭证后, 如何验证用户的凭证是否正确呢, 这就需 ... -
Spring Security 3多用户登录实现之四 用户凭证
2012-11-10 20:00 5067前讲讲到AuthenticationFilt ... -
Spring Security 3多用户登录实现之三 验证过滤器
2012-11-10 19:58 15105当填写完成登录表单提交后,首先会被对应的提交表单提起 ... -
Spring Security 3多用户登录实现之二 多登录界面展示
2012-11-10 19:58 9728接前讲,首先针对一个多种用户类型的登录需求,需要先 ... -
Spring Security 3多用户登录实现一
2012-11-10 19:57 4965使用Spring Security 3 来实现多种 ... -
Spring security customize password encoder
2011-07-29 22:21 2357Spring security为我们 ... -
Spring security防用户重复登录
2011-07-28 23:28 3905使用Spring security如何防止用户的重复登录呢 ... -
Spring security用户权限数据库配置
2011-07-28 22:11 6524关于安全性服务,有两个重要的概念需要理解,一是认证,即判断 ... -
Spring security HTTP Basic认证
2011-07-27 21:54 5256Spring security框架集成了多种流行的安全认证 ...
相关推荐
我们知道在原始的项目中我们是通过session和cookie来实现用户的识别认证。但是这样做无疑会增加服务器的压力,服务的保存了大量的数据。如果业务需要扩展,搭建了集群的话,还需要将session共享。 无状态登录 而...
整合spring security,实现了表单登录的功能,因为前一次分离分离,所以对登录的基本配置进行了一些修改,本项目中没有使用通常其他项目中使用的jwt来做,原因有:前端都是基于浏览器访问,可以使用cookie,并且实现...
Spring Security、Spring Boot 和 Angular JS 都有很好的特性,可以让开发现代应用程序变得非常容易,因此让它们非常顺利地协同工作可能会有很多价值。 需要考虑的事项包括 cookie、标头、本地客户端、各种安全漏洞...
Spring Security、Spring Boot 和 Angular JS 都有很好的特性,可以让开发现代应用程序变得非常容易,因此让它们非常顺利地协同工作可能会有很多价值。 需要考虑的事项包括 cookie、标头、本地客户端、各种安全漏洞...
3. spring security+oauth2使用rsa加密实现认证中心(我这里没有使用io.jsonwebtoken,实际上应该使用,nacos的源码也有使用jjwt,我没使用只是为了更好的熟悉security的部分源码) 4. redis除了用作基本缓存以外,...
基于Spring cloud和Spring boot 2.x 实现 *项目演示 username:演示用户 password:test 由于没有进行部署,首次加载需要等待1~2分钟,加载完成之后比较流程流畅 好不容易抓到了推免的尾巴,所以最近打算更新...
class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"> <!-- end --> --修改了过滤链 <!-- 过滤链定义 --> //简单的讲就是把需要特别处理的路径写到前面,越特殊写...
随着 Web 转向客户端和服务器之间更大的分离,JWT 为传统的基于 cookie 的身份验证模型提供了一个极好的替代方案。 有关 JWT 的更多信息,请访问 在本系列中,我们将构建一个简单的应用程序,以从带有 Angular ...
如何在DotNet 2的登录组件中检索用户的锁定状态及解锁? ASP.NET 2.0, 想说爱你不容易 SqlDataSource WEB控件:当DeleteCommandType= 遭遇 ASP.NET 2.0 只读 TextBox 回发后信息丢失的 bug asp.net2.0:扩展...
1. Springmvc + Mybatis集成、SpringSecurity权限控制、Spring AOP事务处理。 2. Wink Rest服务、Webservice服务:jaxws、CXF等 3. IO 流上传下载文件,多线程操作 4. 发送邮件,配置邮件服务器,发基于html、纯...