可能重复:
create-session stateless usage无状态webapp中的Spring Security?
我只是在试验开始于春季安全,在3.1版本,并即时知道如何与无国籍Web应用程序来实现身份验证。
想到http-basic和digest,我尝试了它们,但是我不喜欢不关闭浏览器就不能像表单身份验证一样注销。
我目前有一个使用spring security的基于表单的身份验证的工作状态web应用程序(通过在会话中存储身份验证信息使其成为有状态的),并且我想知道我可以研究哪些策略来使spring安全在不使用http会话的情况下工作?
我意识到有一个<http create-session="stateless" ..>
,但肯定有些事情需要做更多的事情,因为应用程序在我尝试访问受保护资源时不能正常工作,因此应用程序停止正常工作。
这里是我的配置:
<http use-expressions="true" create-session="stateless">
<form-login login-page="/login"
login-processing-url="/static/j_spring_security_check"
authentication-failure-url="/login?login_error=t" />
<logout logout-url="/static/j_spring_security_logout"/>
<intercept-url pattern="/person/test/**"
access="isAuthenticated() and principal.username=='albertkam'"
/>
<intercept-url pattern="/person/**" access="hasRole('ROLE_NORMAL')"/>
<remember-me
key="spitterKey"
token-validity-seconds="2419200"/>
</http>
随着create-session="stateless"
:
- 访问http://myhost:8080/mycontext/person/blah
- 转到登录页面。
- 返回到主页网址http://myhost:8080/mycontext登录后(我希望它返回到受保护的资源)
没有create-session="stateless"
,默认为ifRequired(状态):
- 访问http://myhost:8080/mycontext/person/blah
- 去登录页面
- 返回受保护的网址http://myhost:8080/mycontext/person/嗒嗒登录后(这是正确的行为,但状态)
它是这个[专题]有了答案[1] [1]:http://stackoverflow.com/questions/8800855/create-session-stateless-usage – bertie 2012-01-12 02:01:10