保护整个ASP.NET 5 MVC 6应用程序



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

我希望在全球范围内要求授权,并希望能够在少数地方允许匿名用户。我如何要求用户获得全局授权,并在一些ActionMethod中允许匿名用户?

您只需在Startup.cs:中全局注册AuthorizeFilter

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自己的回答)

以下是答案。。。在Startup类中,ConfigureServices方法:

public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddMvc(options =>
            {
                options.Filters.Add(new AuthorizeFilter(new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build()));
            });
        }

相关内容

  • 没有找到相关文章