1

Ok。私の ASP.NET MVC アプリケーションでは、Windows Authentication. layoutsユーザーグループごとに異なるテーマ ( ) を使用したいと考えています。したがって、私の質問はintercept user authentication、特定のグループにテーマを適用する場所/方法です。

内部で処理する必要がありますdefault route/action(リクエストが認証されているかどうかを確認しますか?)。

ありがとう!

4

1 に答える 1

1

ロールごとに 1 つずつ、複数のレイアウトを作成することで、同様のセットアップを使用します。

たとえば、経理の役割があり、Accounting.cssファイルとその役割の特別な .js ファイルを参照するレイアウト ページを作成するとします。

そのレイアウトの上部でこれを使用します

@{
    Layout = null;
}

そして、あなたの_ViewStart.cshtml部分的なビューに次のようなものを入れてください:

@{
    if (User.IsInRole("Admin")) {
        Layout = "~/Views/Shared/_AdminLayout.cshtml";
    }
    else if(User.IsInRole("Accounting")) {
        Layout = "~/Views/Shared/_AccountingLayout.cshtml";
    }
    else if(User.IsInRole("HR")) {
        Layout = "~/Views/Shared/_HRLayout.cshtml";
    }
    else {
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
}

管理者は通常、他のすべての役割にもアクセスできるため、管理者の役割を一番上に置きます。つまり、私の場合、管理者の使用は他のすべての役割にも属します。そのため、上部に設定すると、管理者ではないユーザーがすぐに除外され、特定の役割が確認され、管理者はすぐに管理レイアウトを取得します

于 2012-05-10T12:35:17.010 に答える