2012-05-10 10 views
1

私のASP.NET MVCアプリケーションでは、私はWindows Authenticationを使用しています。私はユーザーグループに異なるテーマ(layouts)を使用したいと思います。だから私の質問は、どのように/ intercept user authentication与えられたグループのテーマを適用することです。ユーザー認証を傍受する場所

default route/actionの中で処理する必要があります(要求が認証されているかどうかを確認してください)。

ありがとうございます!

答えて

1

複数のレイアウトを作成することで、それぞれの役割ごとに同様の設定を使用します。

たとえばあなたがAccounting.cssファイルとそのレイアウトの上部には、その役割

ための特別の.jsファイルこの

@{ 
    Layout = null; 
} 
を使用するを参照するレイアウトページを作成するので、あなたが会計の役割を持っているとしましょう私はADMIので、上部にadminロールを入れ

@{ 
    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"; 
    } 
} 

そして、あなたの_ViewStart.cshtml部分図では、このような何かを置きます通常、他のすべてのロールにもアクセスできます。つまり、私の場合、管理者の使用は他のすべてのロールにも属します。その上に設定すると、すぐに管理者ではないユーザーが除外され、特定の役割が表示されます。管理者はすぐに管理者のレイアウトを取得します

関連する問題