Esempio n. 1
0
    public void OnProvidersExecuting(PageApplicationModelProviderContext context)
    {
        if (context == null)
        {
            throw new ArgumentNullException(nameof(context));
        }

        if (_mvcOptions.EnableEndpointRouting)
        {
            // When using endpoint routing, the AuthorizationMiddleware does the work that Auth filters would otherwise perform.
            // Consequently we do not need to convert authorization attributes to filters.
            return;
        }

        var pageModel     = context.PageApplicationModel;
        var authorizeData = pageModel.HandlerTypeAttributes.OfType <IAuthorizeData>().ToArray();

        if (authorizeData.Length > 0)
        {
            pageModel.Filters.Add(AuthorizationApplicationModelProvider.GetFilter(_policyProvider, authorizeData));
        }
        foreach (var attribute in pageModel.HandlerTypeAttributes.OfType <IAllowAnonymous>())
        {
            pageModel.Filters.Add(new AllowAnonymousFilter());
        }
    }
Esempio n. 2
0
 IFilterMetadata IFilterFactory.CreateInstance(IServiceProvider serviceProvider)
 {
     if (Policy != null || PolicyProvider != null)
     {
         return(this);
     }
     return(AuthorizationApplicationModelProvider.GetFilter(serviceProvider.GetRequiredService <IAuthorizationPolicyProvider>(), AuthorizeData));
 }
        public IFilterMetadata CreateInstance(IServiceProvider serviceProvider)
        {
            //if (Policy != null || PolicyProvider != null)
            //{
            //    // The filter is fully constructed. Use the current instance to authorize.
            //    return this;
            //}

            //var policyProvider = serviceProvider.GetRequiredService<IAuthorizationPolicyProvider>();
            return(AuthorizationApplicationModelProvider.GetFilter(serviceProvider as IAuthorizationPolicyProvider, AuthorizeData));
        }
Esempio n. 4
0
        IFilterMetadata IFilterFactory.CreateInstance(IServiceProvider serviceProvider)
        {
            if (Policy != null || PolicyProvider != null)
            {
                // The filter is fully constructed. Use the current instance to authorize.
                return(this);
            }

            Debug.Assert(AuthorizeData != null);
            var policyProvider = serviceProvider.GetRequiredService <IAuthorizationPolicyProvider>();

            return(AuthorizationApplicationModelProvider.GetFilter(policyProvider, AuthorizeData));
        }
        public void OnProvidersExecuting(PageApplicationModelProviderContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var pageModel     = context.PageApplicationModel;
            var authorizeData = pageModel.HandlerTypeAttributes.OfType <IAuthorizeData>().ToArray();

            if (authorizeData.Length > 0)
            {
                pageModel.Filters.Add(AuthorizationApplicationModelProvider.GetFilter(_policyProvider, authorizeData));
            }
            foreach (var attribute in pageModel.HandlerTypeAttributes.OfType <IAllowAnonymous>())
            {
                pageModel.Filters.Add(new AllowAnonymousFilter());
            }
        }