Menu com View _Layout
27/07/2015
0
estou precisando de uma ajuda para criar um Menu de acordo com o Perfil do Usuário. Estou usando MVC e no _Layout depois da autenticação(está criada), preciso que o Menu se ajuste de acordo com os Perfis(Administrador, Gerente e Usuário). Alguém pode me ajudar ou dar os caminhos das pedras? kkkkkkk
Yuri Moraes
Posts
27/07/2015
Randrade
No seu controller, você atribui um valor à uma ViewBag;
public ActionResult Index(){ if(usuarioAutenticado == "Administrador"){ ViewBag.Administrador = true; } //resto do método. }
E em sua View, você verifica se ele é um administrador ou não, dessa forma:
@if(ViewBag.Administrador == true){ Html.Partial("_MenuAdministrador") }else{ Html.Partial("_MenuUsuarioComun") }
Você pode fazer essa comparação com o que você estiver trabalhando. Se for com session (não é recomendado) utilize ela. Se for o Identity, ele oferece outros recursos.
No exemplo, eu coloquei o "if()" na partial, mas você pode colocar no menu, em um link, em uma imagem, em que você quiser. Só tome cuidado para seu código não virar um "ninho de gato"
27/07/2015
Yuri Moraes
27/07/2015
Randrade
Mas como, pelo jeito, você criou seu método de autenticação, você cria as ViewBag's ou cria um menu dinâmico, onde você grava em um banco de dados as actions, controllers e permissões, retornando apenas os menus que os usuários possuem acesso.
Esse curso da DevMedia possui um exemplo do que você precisa, e nele é utilizado ViewBags para essa finalidade.
27/07/2015
Yuri Moraes
27/07/2015
Randrade
Ambos os cursos utilizam FormsAuthentication, então não modifica muito a forma.
Se você olhar mais para o final do curso, verá que ele explicará melhor os conceitos.
Clique aqui para fazer login e interagir na Comunidade :)