在.net mvc中为整个项目授权属性以确保安全性

时间:2018-03-31 17:14:20

标签: asp.net-core asp.net-core-mvc authorization authorize-attribute

我在每个课程上应用授权属性。

那么可以避免这种情况,并立即保护我的整个Web应用程序吗?

像“命名空间”级别的东西?

我正在使用.net核心mvc应用程序。

3 个答案:

答案 0 :(得分:2)

您应该在启动时在Authorization方法中添加ConfigureServices过滤器。

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc(options =>
    {
        options.Filters.Add(typeof(YourCustomAuthorizationAttribute));
    });
}

答案 1 :(得分:0)

以上都没有奏效。但我得到了解决方案。所以下面为我工作。

services.AddMvc(config =>
            {
                var policy = new AuthorizationPolicyBuilder()
                             .RequireAuthenticatedUser()
                             .Build();
                config.Filters.Add(new AuthorizeFilter(policy));
            });

答案 2 :(得分:0)

我知道这可能要晚了。但理想情况下,只有在找到授权标头时才必须进行检查。项目中的所有页面永远都不可能要求身份验证...必须至少有一个不需要身份验证的登录页面