Habilitar "menu" apartir de permissão de usuario

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.

Ex.:
O sistema possui:

Cadastro Cliente
Busca Cliente
Cadastro Fornecedor
Busca Fornecedor
Cliente -------
                   |-------- Cadastrar
                   |-------- Buscar

Fornecedor---
                   |-------- Cadastrar
                   |-------- Buscar

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 )

t+

vc poderia fazer menus diferentes para cada tipo de usuario, e controlar qual menu vc quer por sessão

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 :slight_smile:

abs

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… :wink:

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.