加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 09:27:03 所属栏目:asp.Net 来源:网络整理
导读:如何强制/设置MVC Core中所有操作的全局授权? 我知道如何注册全局过滤器 – 例如我有: Setup.csservices.AddMvc(options ={ options.Filters.Add(new RequireHttpsAttribute());}); 这工作正常,但我无法为授权添加相同的内容: options.Filters.Add(new Au
如何强制/设置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));
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读