私のasp.net MVCプロジェクトにロールマネージャとウィンドウ認証を使用しています ビューアとエディタである2つのロールがあります。Asp.net MVCロールマネージャ
<authentication mode="Windows" />
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
Editorは、アプリケーション全体にアクセスすることができますが、ビューアは、私は最初だけで、エディタがすべてにアクセスすることを可能にするベースコントローラのための承認属性を入れてみました2つのアクション
のみアクセスすることができます。
[Authorize(Roles = "Editors")]
public class BaseController : Controller
をし、これら2つのアクションにAuthorize属性を追加します。
[Authorize(Roles = "Viewers,Editors")]
public ActionResult Report(PaymentsUnallocatedAndQueriedModel model)
それは動作しません、それは今視聴者が何らかのアクションにアクセスすることを許可しません。
各アクションの先頭にAuthorize属性を繰り返すことはお勧めできません。あなたは木の観点からこれを見なければならないこと
編集者は、すべてのアクションにアクセスすることができますので、あなたの答えのおかげで、私は、各アクションの上に認可繰り返さない期待していたが、それは他の方法 – Elham
@Elhamが存在しないようです:あなたは、常にSOこれを見ることができます拒否属性を質問し、実装する。これは、メソッドの属性をタイプアウトしたくないので、単純に多くの作業のように思えます。 http://stackoverflow.com/questions/4011458/mvc-authorize-attribute-deny –