MVC Core 如何强制/设置所有操作的全局授权?

2024-01-21

如何强制/设置 MVC Core 中所有操作的全局授权?

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

Setup.cs

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

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

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

我有错误:

Cannot convert from 'Microsoft.AspNet.Authorization.AuthorizeAttribute()' to 'System.Type'

(Method .Add() needs IFilterMetadata type)


我从类似的问题中知道,这适用于 MVC4-5...所以必须对 MVC Core 进行一些更改...

有人有什么想法吗?


services.AddMvc(config =>
{
    var policy = new AuthorizationPolicyBuilder()
                     .RequireAuthenticatedUser()
                     .Build();
    config.Filters.Add(new AuthorizeFilter(policy));
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC Core 如何强制/设置所有操作的全局授权? 的相关文章

随机推荐