asp.net-core-mvc - 如何在 Asp.net Core 2.1 Angular 模板中处理应用程序特定的逻辑
问题描述
我正在使用这个 Asp.net Core 2.1 的 Angular 模板。 Asp.net Core 2.1 Angular 模板
- 场景是我使用上面的角度模板。
- 我正在使用 OpenID connect IdentityServer4 Authentication using Implicit Flow。
- 假设,现在我有一个第三方 API 来获取产品信息。 https://Somethirdpartyapi.com/api/v1/Products 但现在我需要根据用户角色显示产品。那么,我可以在哪里进行授权?
- 当用户登录时,我得到 access_token 并得到用户角色。
- 在 Angular 中,我已经编写了代码来处理基于角色的授权,例如如果角色属于普通用户,则显示已发布的产品。如果 Role 是“SpecialUser”,则显示 EarlyRelease 产品类似的东西。
- 如果我直接在我的 Angular 代码中使用该第三方 API,那么任何人都可以直接使用令牌调用该 API,然后可以跳过我用我的 Angular 代码编写的客户端授权流程。
- 用户可以使用 Postman 在该令牌的帮助下调用我的第三方 API。
- 这里第三方 API 的意思是,我不能添加或修改该 API。
我的问题是如何处理特定于应用程序的逻辑,例如基于角色的事物。我需要根据用户角色显示产品信息,我无法将该逻辑放入产品 API,因为我无法控制它。
解决方案
推荐阅读
- bitcoin - org.bitcoinj.core.AddressFormatException:将 66 个字符长的私钥转换为 ECKey 时,位置 0 处的非法字符 0
- c# - 尝试从另一个 wcf 服务使用 wcf 服务时收到 400 Bad Request
- moqui - Moqui 和 GDPR 的删除权要求
- php - php/mysql - 比较 2 个表中的多个列并显示最大差异
- angular - 如何使用正确的标头使用 Angular 6 发送 OAuth2 POST 请求?
- sql - 在不同 Schema 的表之间迁移/同步数据
- node.js - 使用 node.js 在 mongo db 中发布带有用户详细信息的数据
- php - 在android中使用php将图像上传到mySQL服务器
- java - 验证对象的最佳实践
- database - 如何在代码点火器中动态加载数据库设置