Olá desenvolvedores, neste tutorial implementaremos o controle de acesso da aplicação. Como exemplo, somente o administrador tem permissão para cadastrar novos usuários e consequentemente definir os privilégios do novo usuário cadastrado. Estes privilégios estarão diretamente relacionados ao perfil atribuído ao usuário no momento do cadastro.
Neste cenário, não faz sentido que os perfis de SECRETÁRIA e RECEPCIONISTA possam visualizar os mesmos itens de menu que o usuário. Assim, cada usuário deverá enxergar na tela somente o que estiver liberado para o seu perfil.
Desse modo ao ADMINISTRADOR cabe uma visão completa do sistema. Tendo acesso as telas de cadastro e as permissões de editar e/ou excluir um dado usuário e/ou lançamento. Mas somente ele poderá enxergar tais opções.
O perfil de SECRETÁRIA permite ao usuário fazer lançamentos e trocar de usuário, assim, tão somente estas duas opções de menu deverão estar disponíveis para este perfil. Do mesmo modo, na tela de lançamento, ocultaremos a opção de excluir lamacentos.
OCULTANDO CAMPOS DE ACORDO COM O PERFIL
Nossa aplicação já tem conta com uma rotina que valida as permissões de acordo com o acesso, ou visto de outro modo, que restringe o acesso a um dado campo somente ao administrador do sistema. O que temos que fazer é chamar esta rotina no campo que desejamos ocultar.
Desse modo se queremos ocultar a coluna que possibilita a exclusão de lançamentos, na página lançamentos.xhtml, encontre o componente h:column da referida coluna e adicione a linha de código abaixo. A mesma rotina deverá ser chamada para o botão de “Excluir”, e no item de menu “administração”.
<h:column rendered=“{pessoaBean.permiteAcesso(‘ADMINISTRADOR’)}”>
Após os campos terem sido ocultados na tela de lançamento, ela deverá se parecer com a imagem abaixo.
EM POUCAS PALAVRAS
É importante notar que não apenas os componentes em tela são exibidos de acordo com o perfil do usuário, bem como os lançamentos enxergados por ele estão diretamente relacionados ao usuário logado. Cada usuário somente o poder de enxergar os lançamentos realizados por ele.
Assim, implementamos um controle de acesso simples, mas funcional, e com a lógica perfeita para você, programador que está iniciando agora no universo da programação back-end com Java.