基于资源的(命令式)授权不会进入处理程序
Resource based (Imperative) authorization won't enter the handler
场景:
- 我有一个 API .net core 2.2
- 在我的控制器之上,我授权使用带有属性的 IdentityServer4 进行访问
- 在我的一个端点内,我只想在某些情况下授权访问一种方法
我在端点内实现了 resource based authorization,就像 Microsoft 文档中显示的那样。
它没有用。
我在我的授权处理程序中放置了一个断点并尝试调试,但是当应该调用此处理程序时,却没有。
我的意思是当以下行运行时
var authorizationResult = await _authorizationService
.AuthorizeAsync(User, Document, "EditPolicy");
应该调用处理程序,但从未发生过。
有没有人遇到同样的问题?
所以最终问题出在了startup.cs中服务的注册上。
我正在使用 TryAddScope,通过更改为 AddScope 它工作正常。
场景:
- 我有一个 API .net core 2.2
- 在我的控制器之上,我授权使用带有属性的 IdentityServer4 进行访问
- 在我的一个端点内,我只想在某些情况下授权访问一种方法
我在端点内实现了 resource based authorization,就像 Microsoft 文档中显示的那样。 它没有用。 我在我的授权处理程序中放置了一个断点并尝试调试,但是当应该调用此处理程序时,却没有。 我的意思是当以下行运行时
var authorizationResult = await _authorizationService
.AuthorizeAsync(User, Document, "EditPolicy");
应该调用处理程序,但从未发生过。
有没有人遇到同样的问题?
所以最终问题出在了startup.cs中服务的注册上。 我正在使用 TryAddScope,通过更改为 AddScope 它工作正常。