C# 如何在MVC上的ActionFilterAttribute中知道当前操作是否通过授权?

C# 如何在MVC上的ActionFilterAttribute中知道当前操作是否通过授权?,c#,asp.net,.net,asp.net-mvc,C#,Asp.net,.net,Asp.net Mvc,正如您所知,如果我们想要授权,我们可以重写AuthorizeAttribute,但目前我想知道当前操作是否在ActionFilterAttribute中通过授权 例如:这是用于授权: public class AdminAuthorizeAttribute : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { //

正如您所知,如果我们想要授权,我们可以重写AuthorizeAttribute,但目前我想知道当前操作是否在ActionFilterAttribute中通过授权

例如:这是用于授权:

public class AdminAuthorizeAttribute : AuthorizeAttribute
{
     public override void OnAuthorization(AuthorizationContext filterContext)
     {
           // if authorize then continue, or else redirection the action to some page for some user
     }
}
这是访问日志,这是我想知道当前请求是否被授权的地方

public class LoggerFilterAttribute : ActionFilterAttribute
{
   public override void OnActionExecuting(ActionExecutingContext filterContext)
   {
     // before save the access log, I want to know current request is authorized or not, then I can write the authorize status to the access log/
   }
}
更新1:

我不使用默认用户身份或角色。 我正在从数据库和会话中使用自己的autrize角色。 例如:

public class AdminAuthorizeAttribute : AuthorizeAttribute
    {
        public string ActionName {get; set;}
         public override void OnAuthorization(AuthorizationContext filterContext)
         {
              if (null == GetSession("AdminNo"))
                {
                    // Authorized failed. redirect
                }

              if (null == GetSession("RoleName")
                {
                   // Authorized failed. redirect
                }
              else{
                     if (!GetSession("ActionInRole").include(ActionName))
                     {
                        // Authorized failed. redirect
                     }
                  }

           // Authorized success.
         }
    }