Seguinte, to com um projetinho de CRUD pra gerenciar docentes e cursos de uma facul usando jsf+primefaces+jpa. Meu problema é o seguinte:
Existem os usuarios que são os cordenadores dos cursos e os usuarios que são funcionarios. Os funcionarios tem acesso a lista de todos os cursos cadastrados na base, porém os cordenadores só podem visualizar os dados do curso dele.
Exemplo: Usuario normal abre a tela do crud e ve um datatable mostrando todos os cursos. Já um cordenador ve um datatable mostrando apenas o curso atribuido a ele.
Como eu faço pra restringir esse tipo de acesso a um usuario?
Se você utiliza um servidor de aplicações Java EE full recomendo usar o JAAS, caso utilize um servlet container use o Spring Security
P
pauloric17
Utilizo Apache Tomcat aix!
A
aix
Apache Tomcat é um servlet container
P
pauloric17
Você teria um exemplo pratico usando os recursos iguais aos meus?
M
Matheus_Kruzsouza
nao sei se entendi muito bem, mas suponho que os usuarios coordenadores e os usuarios funcionario tenham um login e senha, sendo assim, vc poderia criar um campo no banco de dados com um nome
’permissao’ e os valores poderiam ser numeros, ex: permissao = 1, permissao = 2, sendo assim, quando qualquer usuario logar,a depender do numero de permissao que ele foi cadastrado, vc decide oq ele podera vizualizar, espero ter ajudado
Nesse exemplo defino Pessoa como classe “pai” e Usuario e Coordenador como classes filhas;
Ao fazer o login vc deverá colocar o usuário na sessão, pois o mesmo deverá ser recuperado e identificado, com isso vc poderá renderizar os componentes da página de acordo com o perfil
Sugiro fazer como o @aix falou usando Spring Security. Ai sim você vai ter garantir isso. Tem varios tutoriais por ai, só pesquisar por JSF + Spring Security.
C
clebiovieira
Utilize o Apache Shiro se você está usando um Servlet container.
O lance é você usar um DataSource pq o apache shiro não será gerenciado pelo container do JSF ou do CDI.