私は asp.net mvc プロジェクトにロール マネージャーと Windows 認証を使用しています。ビューアーとエディターの 2 つのロールがあります。
<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>
エディターはアプリケーション全体にアクセスできますが、ビューアーは 2 つのアクションにしかアクセスできません
最初に、エディターがすべてにアクセスできるようにするベースコントローラーの Authorize 属性を配置しようとしました:
[Authorize(Roles = "Editors")]
public class BaseController : Controller
次に、これら 2 つのアクションに Authorize 属性を追加します。
[Authorize(Roles = "Viewers,Editors")]
public ActionResult Report(PaymentsUnallocatedAndQueriedModel model)
機能しません。視聴者が現在意味のあるアクションにアクセスすることはできません。
各アクションの先頭に Authorize 属性を繰り返すのは得策ではないと思います。
それに対するより良い解決策があれば教えてください