我刚开始尝试使用版本3.1的Spring Security,我想知道如何使用无状态webapp实现身份验证。
http-basic和digest浮现在脑海中,我已经尝试过了,但我不喜欢在不关闭浏览器的情况下无法注册表单身份验证。
我目前有一个使用spring security的基于表单的身份验证的无状态webapp(通过在会话中存储auth东西使其成为状态?),我想知道我可以研究什么策略来使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"
:
没有 create-session="stateless"
,默认为 ifRequired (有状态):
答案 0 :(得分:0)
您可以在always-use-default-target="false"
上使用<form-login>
,以防止在成功登录后进入默认页面。