Filtrar itens de um menu com base na Role do usuário  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
jcranky
JavaGuru
[Avatar]

Membro desde: 14/08/2004 18:45:24
Mensagens: 235
Localização: Mogi das Cruzes - SP
Offline

Estou montando um menu com alguns items que só devem ser exibidos para um determinado Role do Sistema. O sistema está bem dividido seguindo o modelo MVC e estamos usando segurança declarativa. Pensei em duas opções para implementar esse menu:

  • Eu implementaria uma ação que seria executada antes de o menu ser exibido, e essa ação iria verificar as Roles do usuário (fazendo a chamada às classes de negócio adequadas) e colocaria na sessão uma lista com os itens do menu e as ações que cada item chama (talvez uma lista com JavaBeans encapsulando essas informações).


  • Eu implementaria uma custom tag que faria a verificação e retornaria o html com os links para as ações.


  • Eu pessoalmente prefiro a primeira opção, parece mais adequado ao modelo MVC e bem mais flexível. Porém a segunda opção parece mais simples de se implementar. O que vocês acham? Qual das opções seria melhor? Ou talvez haja alguma outra idéia mais interessante?

    Obs: Colocar isUserInRole direto no JSP está fora de cogitação, pois obrigaria a alteração da visão se eu quisesse alterar as regras de permissão...

    Paulo R C Siqueira
    http://www.jcranky.com/
    [WWW]
    cv
    Moderador
    [Avatar]

    Membro desde: 04/04/2003 00:32:12
    Mensagens: 7842
    Localização: São Paulo, SP
    Offline

    As custom tags (ou se vc tiver sem saco, uma View Helper ja ta de bom tamanho) sao uma solucao melhor, pq vc continua tratando um problema da view (que itens mostrar no menu?) na view, ao inves do controller.
    [Email] [WWW] [Yahoo!] [MSN] [ICQ]
    jcranky
    JavaGuru
    [Avatar]

    Membro desde: 14/08/2004 18:45:24
    Mensagens: 235
    Localização: Mogi das Cruzes - SP
    Offline

    cv wrote:As custom tags (ou se vc tiver sem saco, uma View Helper ja ta de bom tamanho) sao uma solucao melhor, pq vc continua tratando um problema da view (que itens mostrar no menu?) na view, ao inves do controller.


    Mas até que ponto isso é um problema exclusivo da View? Pois os itens a serem mostrados dependem totalmente da lógica de permissões do sistema, e isso não é parte da lógica de negócios?

    Paulo R C Siqueira
    http://www.jcranky.com/
    [WWW]
     
    Índice dos Fóruns » Desenvolvimento Web
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team