gpt4 book ai didi

jakarta-ee - Struts 2 访问 request.isUserInRole

转载 作者:行者123 更新时间:2023-12-01 05:20:36 26 4
gpt4 key购买 nike

我正在通过 JBoss AS7 服务器使用 Struts 2 和 Rest Services 开发一个小型 Java EE 应用程序。
我对 REST 和 Web 内容使用 FORM auth,我对 REST 没有任何问题,但是在 Web 上,我必须区分 "manager""admin"角色,以便向管理员用户显示一些额外的选项。
我想做类似的事情:

<s:if test="#request.isUserInRole("admin")>
但它不起作用。
你知道有什么方法可以让我实现这样的目标吗?我应该如何区分我的 JSP 页面中的角色?

最佳答案

您可以使用 PrincipalAware 通过用于呈现 JSP 的操作来实现它。当您在 Struts2 注入(inject) PrincipalProxy 的操作中实现它时反对你的行为。确保 servlet-config interceptor应用于 Action 。

public class MyAction extends ActionSupport implements PrincipalAware {

protected PrincipalProxy principal;

public void setPrincipalProxy(PrincipalProxy principalProxy) {
this.principal = principalProxy;
}

public PrincipalProxy getPrincipal() {
return principal;
}
}
然后你可以在 valueStack 中找到这个对象在 JSP 页面上并执行类似的操作
<s:if test="principal.isUserInRole('admin')">
您也可以从 How do I obtain security details (JAAS). 访问此信息

关于jakarta-ee - Struts 2 访问 request.isUserInRole,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16997735/

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