我已经在我一直在研究的MVC应用程序上正确实现了身份验证,并且希望能够为不同的用户角色显示不同的主布局页面。
我的系统目前有(并且可能总是有)3个用户角色:
1. Administrator
2. Superior
3. General
我想要做的是根据他们的角色创建3个用户布局(首先指向登录页面后),所以_layout_admin.vbhtml等
有谁知道如何实现这一目标?我已经搜遍了所有并且知道我可以限制控制器但是想要将它们首先重定向到正确的用户布局。
答案 0 :(得分:3)
在~/Views/ViewStart.cshtml
:
@Code
Dim r = Roles.GetRolesForUser()
If r.Contains("Administrator") Then
Layout = "~/Views/Shared/_LayoutForAdmin.vbhtml"
ElseIf r.Contains("Superior") Then
Layout = "~/Views/Shared/_LayoutForSuperior.vbhtml"
ElseIf r.Contains("General") Then
Layout = "~/Views/Shared/_LayoutForGeneral.vbhtml"
Else
Layout = "~/Views/Shared/_Layout.vbhtml"
End If
End Code