Tenho um menu e queria fazer alguns itens de menu nao aparecerem dependendo de quem logar no sistema. Eu queria saber como eu faço pra acessar as propriedades do menu em tempo de execução, dessa forma na hora que logar eu mostro apenas os menus permitidos.
obrigada!
Use Spring Security ou JAAS,depois de configurado é só vc usar algo como:
<ul>
<li><h:commandLink action="link" value="#{bean.atributo}"
rendered="#{facesContext.externalContext.isUserInRole('membro')}"/></li>
<li><h:commandLink action="link" value="#{bean.atributo}"
rendered="#{facesContext.externalContext.isUserInRole('membro')}"/></li>
<li><h:commandLink action="link" value="#{bean.atributo}"
rendered="#{facesContext.externalContext.isUserInRole('admin')}"/></li>
</ul>
Eu utilizo assim:
<rich:dropDownMenu>
<f:facet name="label">
<h:panelGroup>
<h:outputText value="Cadastros" />
</h:panelGroup>
</f:facet>
<rich:menuItem submitMode="ajax" value="Nomes" action="cadastroNomes" immediate="true" rendered="#{rich:isUserInRole('admin')}"/>
<rich:menuItem submitMode="ajax" value="Endereços" action="endereços" immediate="true" rendered="#{rich:isUserInRole('admin, membro')}"/>
</rich:dropDownMenu>
Pablouu… meu menu é exatamente igual esse que vc mostrou ai, mas num intendi bem como fazer isso ai, vc poderia me explicar com mais detalhes? Obrigada