Membro desde: 29/03/2006 10:06:51
Mensagens: 443
Localização: sao paulo - sp
Offline
Bom dia.
Estou com problemas para resolver uma questão de permissões.
Em nossa aplicação o login do sistema pode assumir tem 2 papéis(Administrador ou Cliente), porem a camada de visualização é a mesma para ambos, mudando apenas o layout da pagina conforme as necessidades do papel.
O problema que estamos tendo é que os Managed Bean estão extremamente bagunçados verificando as permissões do login e retornando a consulta conforme as necessidades. Achamos que ficaria melhor arquitetado se tivéssemos algo como o exemplo abaixo:
O problema dessa solução está em como definir qual Managed Bean será usado no jsf, particularmente gostaríamos de ter algo semelhante ao código abaixo.
O problema é que o concultaMBean é uma interface, não consegui identificar aonde eu poderia colocar uma Fabrica para escolher qual implementação deve ser carregada.
Alguém tem uma idéia de como resolver ou uma solução mais inteligente.
Desde já obrigado.
Ronildo da Rocha Braga Jr.
Programador, nada mais.
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
Olá,
Não sei se faz sentido, mas me diga você: isso é requisito de quem? Da UI? Onde vai usar isso? Eu entendi como requisito da UI, então não reflita esse requisito no seu código. Eu jogaria esse tratamento na UI e no meu serviço retornaria tudo da mesma forma. Teria um atributo de Login retornando o tipo do usuário e trataria ele a partir disso... Fui util?