我正在使用spring security,这是配置文件,
<intercept-url pattern="/login.htm" access="permitAll"/>
<intercept-url pattern="/admin.htm" access="hasRole('ROLE_ADMIN')"/>
<intercept-url pattern="/common.htm" access="hasRole('ROLE_USER')"/>
<form-login
login-page="/login.htm"
authentication-failure-url="/login.htm?error=true"
default-target-url="/loginPlease.htm"/>
<logout
invalidate-session="true"
logout-success-url="/login.htm"
logout-url="/logout.htm"/>
<session-management >
<concurrency-control max-sessions="1"
error-if-maximum-exceeded="false"
expired-url="/login.htm"/>
</session-management>
如果某人退回后退出按钮,他会被重定向到最后一页,但我希望他总是被重定向到登录页面。如果用户直接在浏览器中输入链接,即使他已经注销,他也会被重定向到该页面。
答案 0 :(得分:0)
我认为你需要添加
<intercept-url pattern="/login.htm*" filters="none"/>
阻止执行SessionManagementFilter以及其他所有会话。这也意味着标签不起作用。
希望它有所帮助。
答案 1 :(得分:0)
问题的反面(让人们在退出VS后返回时仍然退出。让人们在登录后返回时仍然登录)was solved by putting in a cache-management filter。
答案 2 :(得分:0)
<mvc:annotation-driven/>
<mvc:interceptors>
<bean id="webContentInterceptor"
class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<property name="cacheSeconds" value="0"/>
<property name="useExpiresHeader" value="true"/>
<property name="useCacheControlHeader" value="true"/>
<property name="useCacheControlNoStore" value="true"/>
</bean>
</mvc:interceptors>