我将身份服务器4用作身份验证服务器,并成功演示了身份验证客户端以访问我的MVC Web应用程序和Web API应用程序,它们都在IIS上以.NET 4.7运行。
我遇到的问题是找到正确的方法来确保客户端只能在身份验证过程后访问他们应访问的端点。 EG,我有两个客户端,一个具有写作用域,一个没有。如何确保没有访问权限的人只能访问将读取我的数据而不进行修改的端点?
到目前为止,我发现的最佳方法是使用如下所示的授权属性: https://github.com/IdentityModel/Thinktecture.IdentityModel/blob/master/source/WebApi/ScopeAuthorizeAttribute.cs
但是,这被标记为已过时,我不知道提到基于OWIN中间件的版本。考虑到我的MVC和Web Api应用程序无法更新为.NET核心应用程序,最佳方法是什么?
答案 0 :(得分:0)
由于范围声明在ASP.Net管道中可用,因此您可以轻松实现自己的访问控制过滤器。可能是该特定库已过时,但是在MVC / WebAPI过滤器中强制范围的做法肯定是完全有效的。