[quote=Guevara]Opa!
Vim aqui responder a sua MP.
Eu uso o plugin do Bronx, é bem fácil de usar, é só colocar o jar dentro da /lib e anotar os métodos no Controller de acordo com os roles que vc quer dar permissão, por exemplo:
Quero que apenas o admin e vendedor possam cadastrar proprietários:
@Roles(roles = {"admin", "corretor"})
public void adiciona(final Proprietario proprietario) {
// codigo aqui
}
E quero que apenas o admin possa excluir:
@Roles(roles = {"admin"})
public void remove(Long idProprietario) {
// código aqui
}
Você pode anotar os métodos ou até o Controller todo:
@Resource
@Roles(roles = {"admin", "corretor"})
public class ProprietarioController {
// código aqui
}
O tópico com as dicas e o download do Restrictrex estão aqui:
http://www.guj.com.br/posts/list/149517.java
Ou vc pode tb seguir a dica do mestre Jedi Garcia e implementar com JAAS, acho que na apostila da Caelum FJ-28 têm uma parte de logins, só não lembro se têm essa parte do controle de roles.
Espero ter ajudado.
Abraço![/quote]
Pessoal!!! Obrigado pela respostas!
Então mas o meu sistema ja está usando o Restrictrex do Bronx… tá funcionando legal.
O usuario X tem acesso para adicionar ou remover um projeto, o usuario Y só tem acesso para adicionar um projeto… o usuario W só tem acesso para remover um projeto… etc…
O problema é um nivel mais baixo dentro de um projeto. Por exemplo:
[list]Eu sou o Usuario Leandro e crio o projeto X e adiciono os usuario Pedro, Marcio e Katia no meu projeto.[/list]
[list]Você é o usuario Guevara que criou o projeto Y e adicionou os usuario Joao, Maria e Fernanda no seu projeto.[/list]
Os usuarios Leandro, Pedro, Marcio e Katia, ao se logarem só vão enchergar o meu projeto, assim como os usuarios Guevara, Joao, Maria e Fernanda só vão enchergar o seu projeto.
Se num outro exemplo caso tenha um usuario em comum em ambos os projetos, ele vai enchergar os dois projeto, depois do login.
Entendeu? Como que eu posso fazer isso?
Acho que tanto o JAAS quanto o Restrictrex são para controles de roles que está ok no meu projeto. Quando um usuario que nao tem permissão para adicionar um projeto tenta adicionar um projeto, o sistema vai para uma pagina de Acesso Negado… isso está ok já.
Não sei se fui bem claro na minha duvida. E um usuario com roles de “Programador”, por exemplo, pode estar em varios projetos e caso outro usuario tenha a permissão de “Coordenador” também pode criar varios projetos.
Aguardo resposta.
Obrigado.
Att,
Leandro.