amazon-web-services - 基于 AWS 功能的许可
问题描述
我正在设计一个将部署到 AWS 的产品。它将Cognito
用于用户身份验证。这将是一个多租户应用程序。
该应用程序具有许多模块/功能。定价取决于客户选择的功能。
请提供有关如何检查该功能是否获得许可的指导。我不想将逻辑放在每个 web api 端点中。
解决方案
您应该创建一个应用程序微服务(可通过 API 调用,但访问权限仅限于您自己的应用程序),它接收以下信息:
- 已验证的用户 ID
- 想要访问的服务
- 资源级别信息,以防您需要细粒度的访问控制
身份验证微服务将咨询数据库,应用适当的业务逻辑并返回成功指示符。
最好:
- 每个请求都应记录在审计跟踪中
- 如果访问被拒绝,返回一条错误消息,提示原因(例如,“此功能需要订阅 XYZ 模块”)
- 使用某种形式的缓存使查询超快(例如 DAX for DynamoDB 或 ElastiCache)
许可系统通常比实际应用程序更复杂!
推荐阅读
- android - 我如何在反应原生中捕获屏幕截图而不是同一应用程序
- php - Composer 在您的平台中检测到问题:您的 Composer 依赖项需要 PHP 版本 ">= 7.4.0"。在 Apache 虚拟主机上
- vba - 仅当值不为空时才保存 Word VBA
- codenameone - 在 CodenameOne 中使用更新版本的材质图标
- javascript - 更改谷歌浏览器自动建议选项背景
- python - 多个带有循环的python kivy Switch小部件-但只能激活/停用一个
- java - 在 iptables REDIRECT 之后使用 Java Android 代理检索原始目标 IP
- typescript - NextJS 链接跨域属性
- react-native - 反应原生的所有 Axios 方法都不起作用
- shopify - shopify.bat 节点服务命令的系统调用失败