gpt4 book ai didi

java - 如何有条件地向具有 Spring 安全性的登录用户显示 jsp 内容

转载 作者:IT老高 更新时间:2023-10-28 13:03:47 26 4
gpt4 key购买 nike

我想向任何登录的用户显示内容,如果他们没有登录则隐藏。我正在使用 jsp 和 spring security。

显然,自制解决方案很容易完成。但是实现这一目标的最干净的标准方法是什么?

Spring 安全标签似乎没有很好的方式来允许将来添加新角色。

最佳答案

我在以下方面取得了成功:

    <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>

关于java - 如何有条件地向具有 Spring 安全性的登录用户显示 jsp 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1638170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com