2011-02-23 17 views
1

私はASP.NET MVC 3を使用しています。私の用語を許してください。職場の特定の人々に役割を割り当て、Windows認証を使用してユーザーの役割を特定します。役割はRoleA、RoleB、RoleCです。だから、今私はユーザーの役割のリストを取得します。 UserAはRoleAとRoleBに属していると言います。誰もが特定の意見を見ることができないので、私の意見の一部を認証する必要があります。 ViewAはロールRoleAとRoleBに属するユーザーのみが見ることができます。どうすればいい?何を調べる必要がありますか?これらのロールに属していないユーザーがビューにアクセスしようとすると、エラーページにリダイレクトされます。ロールに基づく特定のビューに対するユーザー権限

また、特定のコントロールを隠す/表示するために、私のビューでこれらのロールをチェックするために何らかのヘルパーメソッドが必要です。これを使用するのに最適な場所はどこですか?

すべてのサンプルコード/記事は高く評価されます。

答えて

2
[Authorize(Roles = "RoleA,RoleB")] 
public ActionResult Foo() 
{ 
    return View(); 
} 

そして、あなたは、ビューでの役割を確認する場合:

@if (User.IsInRole("RoleA")) 
{ 
    <div>This will be visible only to users in RoleA</div> 
} 
+0

が、ユーザがビューモデルを通じて役割である場合に合格しない方が良いですか? – LukLed

+0

@ダリン:どのようにロールコレクションにロールを追加しますか? –

+0

@ダーリン:ユーザーがアクセス権を持っていない場合、一般的なエラーページに移動する必要があることをどこで指定しますか? –

関連する問題