【发布时间】:2020-05-08 01:41:20
【问题描述】:
我有一个使用 Identity Server 快速入门创建的 API 和客户端,它正在工作。在配置文件中,我有一个名为 api1 的 API,我已将其设置为我创建的名为 Admin 的用户的允许范围。反过来,这允许我调用名为 IdentityController 的 API 项目中的控制器。这将返回有关声明的一些数据。效果很好。我添加了一个名为 MsgController 的带有授权的新控制器,并且可以毫无问题地调用它。但是,我需要以下方面的指导:
- 我想为新用户提供 api2 的允许范围,然后只允许该范围调用 MsgController
- 如何防止允许的范围“api1”在 MsgController 中使用,并防止“api2”(我要创建的新范围)使用 IdentityController。
理想情况下,我需要创建一个包含两个登录名的测试,并根据他们的范围显示他们无法访问另一个控制器。我认为范围的名称与控制器的名称相关,但似乎并非如此。我认为这是我对如何将范围应用于 api 缺乏了解。
谢谢。
【问题讨论】:
-
您可以启用基于角色的访问(这使用声明)或实施操作过滤器(在这里我们可以使用自定义逻辑和声明)
标签: .net .net-core identityserver4