我有一个index.jsp页面,其中包含一条消息和一个完美有效的登录表单,但是当用户登录时我需要它保留在index.jsp页面上,只需用登出链接替换登录表单怎么做这个?
我知道我可以使用以下内容,但不知道如何在运行时使用登录表单替换它。
<a href="<c:url value="j_spring_security_logout" />" > Logout</a>
登录表单位于index.jsp
<form action="<c:url value='j_spring_security_check'/>" method='post'>
<label for="j_username">Username</label>
<input type="text" name="j_username" id="j_username"/><br/>
<label for="j_password">Password</label>
<input type="password" name="j_password" id="j_password"/><br/>
<input type='checkbox' name='_spring_security_remember_me'/> Remember me<br/>
<input type="submit" value="Login"/>
<input type="reset" value="Reset"/>
</form>
答案 0 :(得分:3)
您可以将Spring Security taglib与SpEL expressions结合使用:
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<sec:authorize access="isAuthenticated()">
<a href="<c:url value="j_spring_security_logout" />" > Logout</a>
</sec:authorize>
<sec:authorize access="isAnonymous()">
<!-- Login form goes here -->
</sec:authorize>