我在以下方面取得了成功:
<sec:authorize ifAnyGranted="ROLE_ANONYMOUS"> <td><a href="<c:url value="/login.htm"/>">Login</a></td> </sec:authorize> <sec:authorize ifNotGranted="ROLE_ANONYMOUS"> <td><a href="<c:url value="/j_spring_security_logout"/>">Logout</a></td> </sec:authorize>
可以添加新角色,而不影响此处的逻辑。
为了使该答案与Spring Security
3保持最新,到目前为止,使用
isAnonymous()和
isAuthenticated()表达式结合使用效果很好,可以实现相同的目的。这是一个例子:
<sec:authorize access="isAnonymous()"> <form method="POST" action="<c:url value='j_spring_security_check'/>"> Username: <input name="j_username" type="text" value="${SPRING_SECURITY_LAST_USERNAME}" /> Password: <input name="j_password" type="password" /> <input type="submit" value="Sign in" /> </form></sec:authorize><sec:authorize access="isAuthenticated()"> <a href="<c:url value="/j_spring_security_logout" />">Logout</a></sec:authorize>


