authorization - 对于该服务不直接管理的资源,您将如何处理“授权”微服务
问题描述
我们有一个单体应用程序,并希望解耦身份验证/授权服务。
在这个阶段,授权是最简单的开始。
问题在于授权某些类型的资源访问。例如,用户只能编辑他自己的帖子。
鉴于微服务将只保存角色/身份验证项和对用户 ID 的分配,创建以下端点是否有意义?
POST v1/<userEmail>/authorize/<authItemName>
有数据,例如
v1/user@company.com/authorize/Posts.UpdateOwn`
{
post: {
content: 'My first post'
...
creator: {
email: user@company.com
}
}
}
我们将在哪里发送对象的数据和用户的数据。这样我就可以有一个规则会返回,但是true
如果object.creatorId === userData.id
你考虑一下,它似乎很愚蠢......如果单体已经有信息,为什么不检查一般权限Post.Edit
并检查用户是否是创建者.
有更好的方法吗?
解决方案
推荐阅读
- javascript - 是否可以从 r 控制台修改 .js 文件?
- sql - 带有标识字段的 Sybase INSERT INTO?
- python - 将动画绘制到 Jupyter Notebook:为什么在内部范围(即在函数中)调用 HTML(animator.to_html()) 时不起作用?
- javascript - 在我的应用程序上运行“ng serve”时“找不到模块'@angular/compiler-cli/ngcc'”
- java - Angular向java发送错误的日期格式并且无法在表中创建对象
- jquery - 调整颜色框覆盖以适应 div 而不是屏幕宽度
- go - 如何测试 http.Redirect 使用正确的重定向 URI?
- python - 如何从使用 scipy.interpolate.Rbf 创建的样条曲线中计算任意值?
- laravel - 控制器中的更改未反映显示先前的返回值
- python-3.x - 类中的文本 - href 语句