0

我已经在我一直在处理的 MVC 应用程序上正确实现了身份验证,并且希望就为不同用户角色显示不同主布局页面的可能性提出一些建议。

我的系统目前有(并且可能永远有)3 个用户角色:

1. Administrator
2. Superior
3. General

我想做的是根据他们的角色创建3个用户布局(在首先被指向登录页面之后)所以_layout_admin.vbhtml等

有谁知道如何做到这一点?我已经搜索过并且知道我可以限制控制器但想首先将它们重定向到正确的用户布局。

4

1 回答 1

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
于 2012-08-21T12:51:18.143 回答