Olá pessoal,
Estou com uma dúvida com relação a chegar em uma solução para:
Em um sistema WEB, o que pode ser feito / usado para ser exibido / habilitado somente funcionalidades que o usuário logado tenha permissão.
E o usuário ABC, possui permissão somente de cadastrar e buscar cliente:
teria como fazer com que fosse exibido ( ou mesmo que exibisse ficasse desabilitado ) menu ou item de menu com somente a permissão que esse usuário possui.
Utilizando para essa questão de permissão algo como ServletFilter ou JAAS ( são exemplos )
vc poderia fazer menus diferentes para cada tipo de usuario, e controlar qual menu vc quer por sessão
ericogr
Tenho um sistema que faz este tipo de controle utilizando os recursos do framework acegi. Exemplo… o usuário tem permissão para manutenção de cliente e fornecedores, então ele possui essas duas regras cadastradas no banco de dados. Quando ele efetua o login, o sistema carrega suas regras para a memória (se tiver muitas regras fica complicado controlar com um menu para cada tipo de usuário) e quando a página que contém os menus é exibida, algumas tags personalizadas que criei controlam sua exibição. O acegi tb possui tags para controlar a exibição de menus ou coisas na tela tb, só q não atendiam a minha necessidade. Acho que vale a pena dar uma olhada pois este framework faz muito mais que isso em conjunto com o spring
abs
LeoMarola
Bem,
Você poderia ter essa estrutura mapeada em banco de dados… e Através de um Filter verificar se o usuário tem ou não acesso à funcionalidade.
1 Ponto Forte: Se você alterar a permissão desse usuário em ‘runtime’ (Ele estando logado) as alterações já farão efeitos
1 Ponto Fraco: Exibe opções que provavelmente o usuário não poderá acessar (segurança,usabilidade,etc).
OU
No ato do login, como disse o nosso amigo anteriormente… gerar o Menu com base nas permissões!
Devem haver outras soluções…
sudeval
estou entendo, estava pensando nessa parte da interface mesmo , em relacao a estrutura eu tinha pensando ja em regras / roles no banco a serem acessadas na inicializacao.
está sendo de grande valor a força de vocês, um amigo comentou sobre struts-menu, vou ver se ele ajuda em algo.