JSF 2.0如何根据用户显示元素吧?

use*_*148 3 java jsf jaas java-ee

我正在使用JSF 2.0,java ee和glassfish编写应用程序.

我的用户界面是包含jsf的简单xhtml.

我希望我的用户登录并根据他们的权利在同一页面上显示不同的元素.

是否有可能使用jaas?

在此先感谢loic

pla*_*nes 6

如果您不想编写框架类型代码来"幕后"执行此操作,则可以将组件的呈现属性绑定到检查用户访问权限的方法,例如

public boolean isUserAllowedAccess() {
        return FacesContext.getCurrentInstance().getExternalContext().
           isUserInRole("ROLE_ADMIN");
         // or whatever authorization code you want
    }
Run Code Online (Sandbox Code Playgroud)

然后在JSF标签的'rendered'属性中引用它,例如

rendered="#{authBean.userAllowedAccess}"
Run Code Online (Sandbox Code Playgroud)

您可以使用面板包裹多个组件,例如

<h:panelGroup rendered="#{authBean.userAllowedAccess}">
Run Code Online (Sandbox Code Playgroud)