1
基于
春季安全的Java配置(这不是Spring MVC的,只是servlet的Web应用程序)春季安全 - 显示注销消息
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login.jsp")
.permitAll();
}
和登录页面
<form name='loginForm' action="" method='POST'>
<c:if test="${param.logout != null}">
<p>You have been logged out.</p>
</c:if>
<table>
<tr>
<td>User:</td>
<td><input type='text' name='username'></td>
</tr>
<tr>
<td>Password:</td>
<td><input type='password' name='password' /></td>
</tr>
<tr>
<td colspan='2'><input name="submit" type="submit"
value="submit" /></td>
</tr>
</table>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
</form>
并没有其他页面注销链接,所以注销动作logout
(第2页)
<form action="logout" method="post">
<input type="submit" value="Logout" />
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form>
我在成功地loged后然后按下注销按钮(从第2页开始),它将我返回到登录页面,但登录页面未显示注销消息<c:if test="${param.logout != null}">
。之后,我尝试再次登录,但它不起作用(它只是在注销后登录)并向我显示一条注销消息。为什么它以这种方式工作,以及如何解决它在注销按下后显示注销消息。
什么让你相信帕拉姆'param.logout'存在? - 你有任何描述/使用它的文档或教程吗? – Ralph
找到它了:http://docs.spring.io/spring-security/site/docs/current/reference/html/jc.html#jc-form – Ralph