私は基本ベースと派生クラスを持っています
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "Base",
Operation = "Create")]
public abstract class Base
{
}
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "Derived",
Operation = "Create")]
public class Derived : Base
{
}
派生クラス オブジェクトを作成している場合、承認マネージャーが基本クラスをチェックすることは決してありません。
public class AuthorisationManager : ClaimsAuthorizationManager
{
public override bool CheckAccess(AuthorizationContext context)
{
var resource = context.Resource.First().Value;
var action = context.Action.First().Value;
return context.Principal.HasClaim(resource, action);
}
}
派生クラスと基本クラスの両方をチェックする必要があることをどのように実装できますか? 実際には、それらのいずれかが許可を持っている場合、オブジェクトの作成を許可する必要があります。