Asp.net core 为了安全起见,在.net mvc中对整个项目授权属性
我在每门课上申请补习班 那么,是否有可能避免这种情况,并立即保护我的整个web应用程序 类似于“名称空间”级别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
我正在使用.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
猜猜看,我们有整个外部项目只是为了登录。所以另一个完整的项目需要认证。。。!!!