Restringir alguns dados da pagina

Olá pessoal tudo bem ?

Eu tenho uma pagina xhtml do qual exibi uma lista dos usuários que tem acesso ao sistema, como se fosse uma pagina de configuração de conta onde se pode incluir, alterar e excluir um usuário.Nesta pagina são exibidos o nome, login e senha de cada usuário. Entretanto qualquer usuário que entrar nesta pagina tem acesso a todos os dados dos usuários listados na pagina.

Eu gostaria que quando um usuário logasse no sistema e acessasse esta pagina, apenas ficasse visível os dados que lhe dizem respeito, ou seja, os outros dados de outros usuários não apareceriam para este usuário.

Alguém poderia me dar uma ideia de como fazer isso.

Segue a pagina que fiz para testar essa funcionalidade.

[code]<?xml version=‘1.0’ encoding=‘UTF-8’ ?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=“http://www.w3.org/1999/xhtml
xmlns:h=“http://java.sun.com/jsf/html
xmlns:f=“http://java.sun.com/jsf/core
xmlns:p=“http://primefaces.prime.com.tr/ui”>
<h:head>
<title> .::Controle::. </title>
<link type=“text/css” rel=“stylesheet” href="./estilos/primefaces-pepper-grinder/theme.css" />
<link type=“text/css” rel=“stylesheet” href="./estilos/estilo.css" />
</h:head>
<h:body>
<p:layout fullPage=“true” styleClass=“fonte-menor”>

        &lt;p:layoutUnit position="center"&gt;
            &lt;h1 align="center"&gt; Cadastro de Usuarios&lt;/h1&gt;
            &lt;h:form prependId="false"&gt;
                <br/>
                &lt;p:commandButton styleClass="commandbutton2" value="Novo usuario" update="infosUsuario" oncomplete="dialogGerUsuario.show()"/&gt; &nbsp;&nbsp;
                
            
            &lt;/h:form&gt;

            
            &lt;hr/&gt;                
      
            &lt;h:form prependId="false"&gt;
                &lt;p:dataTable id="tabela" var="usuario" value="#{novoManagedBean.listaUsuario}" emptyMessage="Nenhum .."&gt;
                     &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Nome "/&gt;
                        &lt;/f:facet&gt;
                        &lt;h:outputText value="#{usuario.nome}" /&gt;
                    &lt;/p:column&gt;
                    
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Login "/&gt;
                        &lt;/f:facet&gt;
                        &lt;h:outputText value="#{usuario.login}" /&gt;
                    &lt;/p:column&gt;
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Senha"/&gt;
                        &lt;/f:facet&gt;
                        &lt;h:outputText  value="#{usuario.senha}"/&gt;
                    &lt;/p:column&gt;
                   
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Alterar"/&gt;
                        &lt;/f:facet&gt;
                        &lt;p:commandButton styleClass="commandbutton" actionListener="#{novoManagedBean.prepararAlterarUsuario(usuario)}" value="Alterar" update="infosUsuario" oncomplete="dialogGerUsuario.show()"/&gt;
                    &lt;/p:column&gt;
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Excluir"/&gt;
                        &lt;/f:facet&gt;
                        &lt;p:commandButton styleClass="commandbutton" actionListener="#{novoManagedBean.prepararExcluirUsuario(usuario)}"  value="Excluir" oncomplete="dialogExcluirUsuario.show()"/&gt;
                    &lt;/p:column&gt;
                &lt;/p:dataTable&gt;
            &lt;/h:form&gt;
        &lt;/p:layoutUnit&gt;
    &lt;/p:layout&gt;

    &lt;p:dialog header="Cadastrar Novo  " widgetVar="dialogGerUsuario"  resizable="false" modal="true" showEffect="explode" hideEffect="drop" width="500" closable="true" styleClass="fonte-menor"&gt;
        &lt;h:form prependId="false"&gt;
            &lt;h:panelGrid id="infosUsuario" columns="2" style="margin-bottom:10px"&gt;

                &lt;h:outputLabel for="nome" value="Nome :" /&gt;
                &lt;h:inputText value="#{novoManagedBean.usuario.nome}" size="30" required="true" requiredMessage="Informe Nome:"/&gt;

                &lt;h:outputLabel for="login" value="login" /&gt;
                &lt;h:inputText value="#{novoManagedBean.usuario.login}" size="4" required="true" requiredMessage="Informe o login:"/&gt;

                &lt;h:outputLabel for="senha" value="Senha:" /&gt;
                &lt;h:inputSecret value="#{novoManagedBean.usuario.senha}" size="5" required="true" requiredMessage="Informe a senha:"/&gt;
                
                
                
                &lt;p:commandButton update="tabela" oncomplete="dialogGerUsuario.hide();" actionListener="#{novoManagedBean.adicionarUsuario}" value="Inserir Usuario" rendered="#{novoManagedBean.usuario.login == null}"/&gt;
                &lt;p:commandButton update="tabela" oncomplete="dialogGerUsuario.hide();" actionListener="#{novoManagedBean.alterarUsuario}" value="Alterar Usuario" rendered="#{novoManagedBean.usuario.login != null}"/&gt;
                &lt;p:commandButton oncomplete="dialogGerUsuario.hide();" value="Cancelar" /&gt;
            &lt;/h:panelGrid&gt;
        &lt;/h:form&gt;
    &lt;/p:dialog&gt;
    
    
    
    &lt;p:dialog header="Confirmar Exclusão" widgetVar="dialogExcluirUsuario"  resizable="false" modal="true" width="400" closable="true" styleClass="fonte-menor"&gt;
        &lt;h:form prependId="false"&gt;
            &lt;h:outputText value="Confirma a exclusão ?"/&gt;<br/><br/>
            &lt;p:commandButton update="tabela" oncomplete="dialogExcluirUsuario.hide();" actionListener="#{novoManagedBean.excluirUsuario}" value="Sim" /&gt;
            &lt;p:commandButton oncomplete="dialogExcluirUsuario.hide();" value="Não" /&gt;
        &lt;/h:form&gt;
    &lt;/p:dialog&gt;

&lt;/h:body&gt;

</html>[/code]

Pode utilizar o atributo rendered de forma dinâmica.

Como você fez a autorização e autenticação ?
O spring security tem um conjunto de tags que podem ser usadas com o jsf para permitir acesso ou não a uma funcionalidade.

Olá ErickRAR,

Eu tentei fazer isso , mas acho que não soube como fazer pois não funcionou.Você tem algum exemplo de como fazer isso(desculpe a burrice) rs.

Abraços.

Olá lele_vader ,

Eu fiz um ListenerFase para verificação se existe um usuario logado, assim caso não exista nenhum usuario logado as demais paginas não são podem ser acessadas diretamente no navegador e caso exista o fluxo das paginas. O AutenticaManagedBean faz o meio de campo.

Eu já ouvi falar do Spring Security mas como nunca mexi com isso eu procurei tentar fazer com algo que me seja mais familiar.Mas vou dar uma olhada e achar algum tutorial de como usa-lo. Obrigado pela dica.

Se você tem alguma forma de saber se o usuário é admin ou usuário normal, bata fazer

rendered="#{seuManagedBean.usuario.isAdmin"

e por aí vai…

Era nisso que estava pensando, mas não soube colocar no codigo.Acho que deste modo me parece ser mais simples.Preciso fazer um modo então de como saber se o usuario é admin ou usuario comum.

Valeu.

Abraços.

Boa Tarde.
Se usar o Spring Security da para verifica e exibir o componente conforme o usuário logado.
Estes links tem exemplo de configuração.
http://www.javasimples.com.br/spring-2/spring-security-3-deixando-sua-aplicacao-web-segura
http://javasemcafe.blogspot.com.br/search/label/Spring%20Security
Da para utiliza o rendered assim apos logado.

<p:menuitem value="Importa aquivo" 
					rendered="#{sec:ifAnyGranted('ROLE_ADMIN')}" ajax="false" />

Olá Edson Donizete,

Muito legal sua dica, vou ver com calma em casa e volto a postar para ver o que consigo fazer.

Obrigado mesmo.

Olá pessoal, bom dia!

Vi que a dúvida do colega é exatamente a que estou tendo agora.

Não se trata somente de uma área restrita, controlada via url, que ele perguntou, correto(entendi por esse ponto de vista!!)?..

Digamos que eu tenha “100 usuários comuns”, “50 usuários avançados” e “2 administradores”…

Se eu incluir um usuário em um grupo desse e o usuário efetuar login e entrar na sua área destinada, ele continuará vendo os outros usuários logados…

O que quero fazer no sistema que estou desenvolvendo no momento é o seguinte: O usuário não veria os outros usuários e, o mais importante…como fazer, em um universo de notas fiscais abertas em um sistema, por exemplo, exibir as notas que pertencem à aquele usuário específico, no momento em que ele se logar, sem que ele possa ver as notas de outros fornecedores?

Muito obrigado pela atenção e paciência de vocês!