Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Limitar acesso de usuário

Boa tarde, Tenho uma aplicação Web em Java JSF, como faço para dar niveis de acesso aos usuários? ou seja, fazer com que cada usuário acesse somente o que precisa acessar?

8 respostas

Oi Felipe, tudo bem ?

Isso é algo bem complexo, você vai ter que definir a regra de negócio, para isso existem várias formas de fazer, por exemplo você criar no banco uma tabela de acesso a página e você recuperar no sistema, ou você criar níveis de usuário e atribuir para cada um.

Na parte do JSF, você consegue criar um PhaseListener que pode validar qual é a regra de negócio e ai você permite o usuário a seguir a diante ou você o barra.

Espero ter ajudado.

Abraços

Matheus, conhece algum curso aqui no Alura que pode me ajudar a apreender como funciona esse PhaseListener?

Felipe,

Tem sim, esqueci de te falar isso, foi mal :(

Dá uma olhadinha aqui :

https://www.alura.com.br/curso-online-jsf

lá pela aula 7 ele fala sobre o PhaseListener, contudo recomendo que você veja o curso para poder entender o contexto da aplicação.

Matheus, Você escreveu "você criar níveis de usuário e atribuir para cada um", poderia me explicar melhor isso?

Claro.

Por exemplo, um funcionário normal, ele tem acesso apenas a algumas tela; nisso temos também o gerente, ele tem acesso a todas as telas de um usuário e também as telas de relatórios e por fim temos o admin que tem acesso a todo o sistema e a parte de configurações por exemplo.

Agora todos seus usuários deveriam uma propriedade, pode até ser um Enum e você no PhaseListener verifica o que vai exibir e se vai deixar que ele chegue a certa tela da sua aplicação.

Desculpa pela pergunta, mas teria algum projeto ai ou algum exemplo pratico?

sou iniciante em Java.

solução!

Tenho sim, contudo ele não faz validação de nível de usuário tão seriamente, é algo acadêmico.

https://github.com/MathBrandino/CRMPap

Muito Obrigado pela ajuda Matheus!!!