当前位置 : 主页 > 网络编程 > ASP >

asp.net-core-mvc – MVC核心如何强制/设置所有操作的全局授权?

来源:互联网 收集:自由互联 发布时间:2021-06-24
如何强制/设置MVC Core中所有操作的全局授权? 我知道如何注册全局过滤器 – 例如我有: Setup.csservices.AddMvc(options ={ options.Filters.Add(new RequireHttpsAttribute());}); 这工作正常,但我无法为授权
如何强制/设置MVC Core中所有操作的全局授权?

我知道如何注册全局过滤器 – 例如我有:

Setup.cs

services.AddMvc(options =>
{
    options.Filters.Add(new RequireHttpsAttribute());
});

这工作正常,但我无法为授权添加相同的内容:

options.Filters.Add(new AuthorizeAttribute());

我有错误:

无法从’Microsoft.AspNet.Authorization.AuthorizeAttribute()’转换为’System.Type’

(Method .Add()需要IFilterMetadata类型)

我知道 – 从类似的问题 – 这适用于MVC4-5 ……所以必须在MVC Core上改变…

有人有什么想法吗?

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