为安全起见,在 .net mvc 中授权整个项目的属性

Authorize attribute on entire project in .net mvc for security

我正在对每个 类 应用授权属性。

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

有点像 "Namespace" 水平?

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

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

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

None 有效。但我得到了解决方案。所以以下对我有用。

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

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