Asp.net core 为了安全起见,在.net mvc中对整个项目授权属性

Asp.net core 为了安全起见,在.net mvc中对整个项目授权属性,asp.net-core,asp.net-core-mvc,authorization,authorize-attribute,Asp.net Core,Asp.net Core Mvc,Authorization,Authorize Attribute,我在每门课上申请补习班 那么,是否有可能避免这种情况,并立即保护我的整个web应用程序 类似于“名称空间”级别 我正在使用.net core mvc应用程序。启动时,您应该在ConfigureServices方法中添加授权过滤器 public void ConfigureServices(IServiceCollection services) { services.AddMvc(options => { options.Filters.Add(typeof

我在每门课上申请补习班

那么,是否有可能避免这种情况,并立即保护我的整个web应用程序

类似于“名称空间”级别


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

启动时,您应该在
ConfigureServices
方法中添加
授权
过滤器

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

上述措施都不起作用。但我找到了解决办法。所以跟随对我来说很有效

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

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

嘿,伙计。直到今天我才应用这个解决方案。但现在我试过了。在我编辑之前,它给出了编译错误,编辑之后,它给出的错误为=>**System.ArgumentException:“类型“Microsoft.AspNetCore.Authorization.AuthorizationAttribute”必须派生自“Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata”。**如果您实现了自己的
YourCustomAuthorizationAttribute
实现了
AuthorizationAttribute
猜猜看,我们有整个外部项目只是为了登录。所以另一个完整的项目需要认证。。。!!!