gpt4 book ai didi

java - (isUserInRole()) 是将用户权限/安全性附加到 JSF 按钮的最简单方法吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:57:11 26 4
gpt4 key购买 nike

我最近在 JSP 中开发了一个 tomcat 网络应用程序,它使用绑定(bind)到公司 Active Directory 的声明性安全性 (server.xml/web.xml)。我被要求为刚刚起步的项目添加 JSF 支持。将登录表单转换为 jsf 是一件简单的事情,而且安全模型仍然有效。

一位同事问我是否可以让更广泛的受众查看其中一份报告,但只为较小的群体呈现操作按钮。作为 JSF 的新手,我不得不做一些研究。

我花了大约四个小时在谷歌上搜索诸如“jsf 按钮安全性”和“jsf 按钮权限”之类的内容,并尝试了各种大多是死胡同的建议。另一位同事建议使用 Spring 安全模型,但如果有更简单的方法,我不想处理一大堆 Spring 库。

最终,我偶然发现了答案,它非常简单。我只需要使用 HttpServletRequest 方法:isUserInRole() 来确定当前登录的用户是否有权查看操作按钮。在过去的十年中,我经常使用 HttpServletRequests,但我不记得曾经学习过该方法。使用 jsf,获取该方法是一件简单的事情,如下所示:

public boolean isUserInRole(String role) {
return (FacesContext.getCurrentInstance().getExternalContext().isUserInRole(role));
}

我的具体问题是:关于这种方法是否有任何我应该注意的问题,还有其他更简单的方法吗?

最佳答案

如果您使用 Tomahawk 作为 JSF 实现的插件,大多数控件都具有 visibleOnUserRole 属性。您可以在值中使用多个角色名称。

关于java - (isUserInRole()) 是将用户权限/安全性附加到 JSF 按钮的最简单方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10763828/

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