用户登录后如何将登录表单更改为注销链接?

时间:2013-04-30 04:28:04

标签: spring spring-security

我有一个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>

1 个答案:

答案 0 :(得分:3)

您可以将Spring Security taglibSpEL 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>