2009-08-31 14 views
19

MVCでロールベースのセキュリティを使用するためのベストプラクティスを知りたいと思っています。
アクションを保護し、特定のロールのみでアクセスできるようにする方法は?ロールベースのセキュリティasp.net mvc

答えて

23

ASP.Netメンバーシップ・プロバイダを正しく設定した場合は、[権限]属性を使用して、さまざまな役割またはユーザーへのアクセスを簡単に指定できます。

[Authorize] 
public class SomeController : Controller 

// Or 
[Authorize] 
public ActionResult SomeAction() 

、使用の特定の役割へのアクセスを制限するには::、使用してログインするユーザーを必要とするように

[Authorize(Roles = "Admin, User")] 
public class SomeController : Controller 

// Or 
[Authorize(Roles = "Admin, User")] 
public ActionResult SomeAction() 

を、特定のユーザーのアクセスを制限するために、使用:

[Authorize(Users = "Charles, Linus")] 
public class SomeController : Controller 

// Or 
[Authorize(Users = "Charles, Linus")] 
public ActionResult SomeAction() 
+1

DBでロール/権限を動的にしたい場合はどうすればよいですか? –

+0

@JoePhilllipsカスタム属性とonAuthorizeハンドラを作成します。 – nagytech

+0

私はAuthorizeメソッドの装飾が好きです。ここにはフォローアップの質問があります:ルールに対する例外を処理するために作成されたアクティブディレクトリグループがある場合"MyApp_AccessDenied"という名前のグループには、DenyAuthorizeデコレーションのようにAuthorizeデコレーションのネガティブバージョンが使用されています。 – Bkwdesign

関連する問題