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 に答える