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:
[list]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).[/list]
[list]Eu implementaria uma custom tag que faria a verificação e retornaria o html com os links para as ações.[/list]
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…
