【问题标题】:Correct method of authorizing scopes against Web Api and Mvc .NET 4 Applications针对 Web Api 和 Mvc .NET 4 应用程序授权范围的正确方法
【发布时间】:2019-02-28 10:35:17
【问题描述】:

我使用身份服务器 4 作为身份验证服务器,并成功演示了对客户端进行身份验证以访问我的 MVC Web 应用程序和我的 Web API 应用程序,它们都在 .NET 4.7 下的 IIS 上运行。

我遇到的问题是找到正确的方法来确保客户端只能在身份验证过程之后访问他们应该访问的端点。 EG,我有两个客户,一个有写范围,一个没有。我如何确保没有的人只能访问将读取我的数据而不修改它的端点?

到目前为止我发现的最好的方法是使用这样的授权属性: https://github.com/IdentityModel/Thinktecture.IdentityModel/blob/master/source/WebApi/ScopeAuthorizeAttribute.cs

但是,这被标记为已过时,我不知道提到了基于 OWIN 中间件的版本。考虑到我的 MVC 和 Web Api 应用程序无法更新为 .NET 核心应用程序,最好的方法是什么?

【问题讨论】:

    标签: oauth asp.net-web-api2 owin identityserver4 owin-middleware


    【解决方案1】:

    由于范围声明在 ASP.Net 管道中可用,您可以很容易地实现自己的访问控制过滤器。可能是那个特定的库已经过时了,但在 MVC/WebAPI 过滤器中强制执行范围的做法肯定是完全有效的。

    【讨论】:

    • 谢谢 - 我假设基于关于使用中间件版本的过时评论,现在有更好的方法来实现这一点。在那种情况下,我想做一些类似于链接中显示的事情仍然是完全正确的。
    猜你喜欢
    • 2016-06-21
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多