vista validaciones una que parcial mvc extension cshtml asp.net-mvc asp.net-mvc-3 razor asp.net-mvc-4

validaciones - Oculte y vea las etiquetas div de Layout.cshtml en función del rol del usuario en Asp.net MVC4(Razor)



razor views (2)

Puede usar el código siguiente para la verificación basada en roles

@if(Request.IsAuthenticated) { if(User.IsInRole("Admin") { <Ul Class="SubMenuItem"> <li> this menu item is for Admin role</li> </Ul> } if(User.IsInRole("User") { <Ul Class="SubMenuItem"> <li> this menu item is for User role</li> </Ul> } }

Para usuarios desconocidos

else { <Ul Class="SubMenuItem"> <li> this menu item is for Unknown user</li> </Ul> }

Estoy teniendo una página maestra que tiene algunos menús para un rol llamado usuario y otros menús son para el rol de administrador, entonces lo que estoy dispuesto es verificar el rol del usuario y mostrar algunas etiquetas div y ocultar otras en el base del rol del usuario.

Como, no tenemos controlador para layout.cshtml, así que cómo puedo configurar ViewModel para la vista de diseño Donde puedo verificar el rol del usuario actual

Cómo hacer una verificación basada en roles en el layout.cshtml.

He seguido la siguiente pregunta, pero no ha sido respondida por ahora

Cómo mostrar u ocultar controles basados ​​en roles - ASP.NET MVC 4 Razor

Por lo tanto, dígame la posible solución y de qué forma sería la mejor para aplicar la comprobación basada en roles en layout.cshtml


Puede usar el método User.IsInRole :

@if (User.IsInRole("admin")) { <li>Only the admin can see this menu item</li> }