1

我有 Organization、UserType、AspNetUser、Department、Stock 和 SIM 表作为以下架构

当用户调用端点 api/sims/1 并且用户的用户类型不是超级管理员并且用户的组织与我想要返回未经授权的 sim 组织不同时,最佳实践是什么在 asp.net core web api 3.1 中这样做?

4

1 回答 1

1

您可以尝试在 asp.net 核心 Web API 应用程序中使用基于声明的授权或 JWT 授权。

用户登录成功后,您可以根据当前用户的组织为当前用户添加声明。然后,根据声明添加策略并配置授权。您可以参考以下链接:

使用 ASP.NET Core 进行基于声明和基于策略的授权

ASP.NET Core 中基于声明的授权

此外,您还可以使用声明生成 JwtSecurityToken,然后通过实现 JWT 身份验证来保护 API 应用程序。检查以下教程:

使用 JSON Web 令牌的 ASP.NET Core Web API 中的身份验证和授权

ASP.NET Core 中的 JWT 身份验证

于 2020-12-17T06:29:01.883 回答