我正在将Spring MVC与spring-security结合使用。 Spring安全性配置为允许每个用户单个会话,并且会话配置为在15分钟内过期。
一切正常,除非用户通过超时注销,但是即使超时后用户仍打开选项卡,并尝试单击注销按钮。用户得到405。注销可以按预期工作。
当打开两个选项卡并且用户首先成功从表单中手动注销然后尝试从其他选项卡再次注销时,也会发生相同的问题。
我相关的spring-security.xml
<access-denied-handler error-page="/login?login_error=1" />
<session-management session-authentication-error-url="/login?login_error=1" invalid-session-url="/login">
<concurrency-control max-sessions="1" error-if-maximum-exceeded="true" expired-url="/login" />
</session-management>
<form-login
login-page="/login"
login-processing-url="/login-processing"
authentication-failure-url="/authentication-failure"
default-target-url="/default-target"
always-use-default-target="true"
username-parameter="username"
password-parameter="password" />
<http-basic />
<logout logout-success-url="/login" logout-url="/logout" delete-cookies="true" invalidate-session="true" />