使用 IdentityServer4 控制对同一个 WebApi 中不同方法的访问

Posted

技术标签:

【中文标题】使用 IdentityServer4 控制对同一个 WebApi 中不同方法的访问【英文标题】:Use IdentityServer4 to control access to different methods in the same WebApi 【发布时间】:2022-01-07 00:55:24 【问题描述】:

Ideal effect flowchart

对于目前对IdentityServer4的理解,发现基本接口权限配置比较适合多WebApi的权限控制项目 不过目前项目的需求是在同一个WebApi中授权不同的接口,以后可以自动生成。 IdentityServer 能满足这个要求吗? 如果可以的话,有没有类似的demo? 上面我放了一个粗略的预期流程图

【问题讨论】:

【参考方案1】:

要实现现代授权,我建议您使用 ASP.NET Core 中内置的基于策略的授权。

这使您可以将授权规则与 API 中的实际 API 控制器和操作方法分离,就像这张图片试图显示的那样:

示例见此链接

Policy-based authorization in ASP.NET Core Claims-based authorization in ASP.NET Core

【讨论】:

如果您愿意,请随时接受答案

以上是关于使用 IdentityServer4 控制对同一个 WebApi 中不同方法的访问的主要内容,如果未能解决你的问题,请参考以下文章

IdentityServer4中自定义控制器和CustomClientStore的CORS问题

IdentityServer4 中文文档与实战

IdentityServer4入门二

使用 IdentityServer4 对 Web API 进行基于角色的授权

使用MySql对IdentityServer4进行持久化

IdentityServer4文档- 欢迎来到 IdentityServer4