Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal gostaria de uma sugestão de vocês, caso já tenham passado por algo parecido
Hoje tenho uma aplicação que possui acesso restrito aos usuários, e cada usuário que realizar o acesso um menu é montado com base nos direitos que ele tem de acesso. Este menu é montado da seguinte maneira:
1 - o usuário ao se logar no sistema é atribuido um grupo de usuários a ele, com um nome, por exmeplo DIRETOR
2 - o meu sistema em PHP vai no diretório de MENUS e localiza o arquivo XML como nome diretor.xml e monta o menu para aquele usuário. Claro que a cada acesso do menu que ele faz eu capturo determinadas informações e valido se ele tem acesso aquele menu
Montando desta maneira eu tenho a vantagem de que a cada refresh da página eu não precise acessar o banco de dados e buscar os itens de menu que ele tem acesso, mas em compensação eu tenho que recarregar sempre o XML que monta o menu
Estava querendo desenvolver alguma outra forma para poder montar este menu dinâmico, e gostaria de sugestões , como por exemplo:
1 - Pensei em salvar em banco de dados o arquivo HTML do menu para cada usuário, mas isso consumiria espaço em banco de dados e também teria que acessar o banco a cada refresh da página, não sei se seria viável
2 - Pensei em salvar apenas o XML em banco de dados mas aí teria que consultar o banco de dados para pegar o XML e depois a função para ler o mesmo e montar o menu
3 - Pensei em deixar o menu livre para todos os usuários e validar apenas quando ele tivesse acesso, mas isso faria com que todos os usuário vissem todos os menus sendo que ele só tem acesso a 2 itens do menu por exemplo
4 - Já pensei em usar Angular para que toda o usuário ao trocar de página não fosse necessário recarregar o menu, mas isto neste momento é inviável porque teria que trocar muita coisa na minha aplicação, que já é bem grande
Pensei de tudo, mas não consigo chegar a uma conclusão ou solução saudável tanto para o sistema quanto para processamento e custo de armazenamento.
Sei que é complicado, mas se alguém pelo menos já tiver passado por isso, ou ter criado uma aplicação para resolver este tipo de problema e quiser compartilhar, agradeceria
Obrigado
Carregando comentários...