Estou desenahando um sistema com menu dinamico, que vem do banco de dados, e como uso JSF estou pensando em colocar um gerador em um Handler de escopo session para que eu faça
a consulta no banco apenas uma vez …
bom alguém tem alguma susgestão de menu dinâmico e controle de permissões de usuários nas páginas que não demande muitas consultas a um banco de dados???
ola
bem…que tipo de permisões de usuário você esta falando?
acesso a diretório?paginas?banco de dados?
algumas perguntas?
o menu vai ter muitas alteracoes?
qual a quantidade de links e sublinks?
ideias que podem lhe ser util!
1-ja pensou em usar Enum para o menu?
pode ficar um pouco mais “complexo”, porem, vc nao tem que ficar se preocupando com os acessos ao banco de dados, e como vc vai ter que alterar no banco de dado, pode ser que alterar o enum seja praticamente o mesmo trabalho.
2- desculpe minha ignorancia nesse ponto, mas nao sei se Handler seria cache, se nao for, vc poderia criar cache do menu, talvez isso deixe mais leve a aplicacao também.
bom Krusst … no menu cada item será um módulo e cada módulo terá no máximo mais dois níveis estilo treeMenu, mas podendo ter vários submenus.
Bom cada usuário terá permissão para um módulo específico, podendo então ver apenas o seu módulo no menu e quando colocar o endereço
diretamente no browser de uma página que ele não tem permissão, o sistema terá que bloquear …
bom então as permissões serão de página e de menu …
Com banco de dados resolvo isso mas ganho muitas requisições ao meu banco a cada navegação de página tornando o sistema mais carregado …
posso também estar cometendo um grande erro … por isso quero ajuda heheheh
AH! eu chamo de hadler um Managed-Bean do JSF … uma classe pra eu chamar na parte visual … dai no arquivo faces-config posso colocar o escopo session e segurar os dados da classe na sessão …
bom espero ter clareado hehehe
mas se vc tiver algum direcionamento ou dica pra que eu consiga ter permissões nas páginas de forma mais rápida e sem muitas consultas ao banco (não se isso é tão ruim assim!!) … me de uma dica …
tendi
no caso do seu menu ter muitas arvores descendo complica um pouco usar o Enum mesmo.
vc utilizar sessao, é perigoso tambem, esse sistema vai rodar web ou intranet?
se for web, toma cuidado, pois muitos servidores bloqueiam o numero de sessoes, e com isso vc pode ter problemas.
nao entendo de singlenton, porem, pensei, vc pode usar isso para montar o seu menu, e caso, ele ja possua os dados carregados, vc nao faz o acesso ao banco de dados.
alias…pensando nisso do singlenton, vc pode usar uma classe, que caso certas variaveis estejam com valor preenchido, entao nao faz o acesso ao banco de dados.
tendeu a ideia?
outra coisa que vc pode utilizar, gerar XML para o menu, pode ser que fique mais rapido, porem , pode ser que nao, as vezes o acesso so banco de dados acaba sendo mais rapido do que o acesso so arquivo para leitura, nesse caso, so fazendo os testes para descobrir mesmo.
bem, estao ai algumas ideias
qualquer coisa…da um grito ai
e se conseguir…posta ai pra gente dar uma olhada