この例を単純にするために、私のサイトには UsersController と VenuesController という 2 つのコントローラーがあり、どちらにも独自の "管理者権限" が関連付けられています。
したがって、ユーザーは「ユーザー」管理者権限および/または「会場」管理者権限を持つことができます(これらは私のデータベースのユーザーテーブルのブールフィールドです)
ユーザーがログインし、私はセッションで彼/彼女の権限を持っています。
ユーザーがコントローラーを使用するための正しい権限を持っていることを確認するために、コントローラーをカスタム属性で装飾したいと考えています。UserPermissionAttribute と VenuePermissionAttribute を作成したくありません。理想的には、bool プロパティを取り、それが true であることを確認する単一の属性が必要です。
[CheckPermissionAttribute(_userSession.AdminPermissions.Users)]
public class UsersController : Controller
{
}
と
[CheckPermissionAttribute(_userSession.AdminPermissions.Venues)]
public class VenuesController : Controller
{
}
これを達成することは可能ですか、または同じ結果を達成するために PostSharp などを検討する必要がありますか?