Affecto.WebApi.Toolkit.AuthorizationLoggingFilter.OnAuthorization C# (CSharp) Method

OnAuthorization() public method

public OnAuthorization ( System.Web.Http.Controllers.HttpActionContext actionContext ) : void
actionContext System.Web.Http.Controllers.HttpActionContext
return void
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            try
            {
                base.OnAuthorization(actionContext);

                if (actionContext.RequestContext.Principal == null)
                {
                    logger.LogWarning(correlation, "OnAuthorization - Principal is null.");
                }
                else if (actionContext.RequestContext.Principal.Identity == null)
                {
                    logger.LogWarning(correlation, "OnAuthorization - Identity is null.");
                }
                else
                {
                    IIdentity identity = actionContext.ControllerContext.RequestContext.Principal.Identity;

                    if (identity.IsAuthenticated)
                    {
                        logger.LogVerbose(correlation, "OnAuthorization - User name: '{0}', auth type: '{1}'.", identity.Name,
                            identity.AuthenticationType);
                    }
                    else
                    {
                        logger.LogWarning(correlation, "OnAuthorization - Identity is not authenticated. User name: '{0}', auth type: '{1}'.", identity.Name,
                            identity.AuthenticationType);
                    }
                }
            }
            catch (Exception e)
            {
                logger.LogError(correlation, e, "Authorization error.");
            }
        }
    }