7

如果我想保护我的 MVC 应用程序中的特定部分,我使用[Authorize]ActionMethod。我也知道我可以将它用于整个控制器,这样我就不必为其中的每个 ActionMethod 指定它。

我想在全球范围内要求授权,并且希望能够只在少数几个地方允许匿名用户。如何要求用户全局授权并允许匿名用户在几个 ActionMethods 中使用?

4

2 回答 2

9

您可以简单地AuthorizeFilter在您的全局注册Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    // configure/build your global policy
    var policy = new AuthorizationPolicyBuilder()
                          .RequireAuthenticatedUser()
                          .Build();

    services.AddMvc(x => x.Filters.Add(new AuthorizeFilter(policy)));
}

(实际的政策制定位来自@Sam 自己的回答)

于 2016-01-07T08:03:03.860 回答
4

这是答案......在Startup课堂上,ConfigureServices方法:

public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddMvc(options =>
            {
                options.Filters.Add(new AuthorizeFilter(new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build()));
            });
        }
于 2016-01-07T08:24:49.353 回答