首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在密钥罩中建模用户创建的资源级权限

在密钥罩中建模用户创建的资源级权限
EN

Stack Overflow用户
提问于 2021-07-08 13:26:11
回答 1查看 150关注 0票数 0

这更多的是关于在Keycloak中为用户创建的资源建模权限/角色的惯用方法的早期问题。对于这个用例,我不确定是否应该只使用Keycloak进行身份管理,而将访问管理留给应用程序。

建议用例:在应用中,资源属于一个公司,一个公司可以有多个用户。有些用户是管理员用户,负责为其他用户设置角色/权限。这些权限可以授予全局访问权限(例如,用户可以查看所有文件)或资源特定访问权限(例如,用户可以查看/修改营销文件夹中的文件)。

一个更具体的例子是AWS IAM。多个用户可以在一个AWS账户上,但可以在不同的级别控制访问。例如,可以设置一个授予S3读取权限的角色,而另一个角色可能对营销存储桶具有S3删除权限。

因为这些资源/角色是用户创建和管理的,所以我想我的应用程序需要提供自己的UI,然后使用REST API与Keycloak通信。由于这些都是用户生成的,而且可能有许多公司在使用该应用程序,因此我可以预见在Keycloak中将持久化大量与资源相关的数据。

我不确定这是不是一个好主意--我想我需要频繁地与Keycloak服务器通信,以验证给定的用户是否有权访问他们试图请求/修改的资源。看起来Keycloak更适合与特定用户创建的资源无关的作用域/权限?如果这是一个标准用例,有没有关于这样的方法的文档(我还没有找到任何东西)?

EN

回答 1

Stack Overflow用户

发布于 2021-09-18 17:58:30

Keycloak能够非常流畅地管理用户的角色,接下来您可以在Java代码中使用这些角色,注释如下:

代码语言:javascript
复制
@Secured("ROLE_ADMIN")

代码语言:javascript
复制
@RolesAllowed({"ROLE_USER", "ROLE_ADMIN"})

在Controller内部,与HTTP方法的映射一起使用,或者在HTML代码内部,比如

代码语言:javascript
复制
sec:authorize="hasRole('ADMIN')"

这意味着您可以管理对市场营销文件夹中文件的查看/修改访问权限。要进一步了解用户访问级别,您可以使用令牌授权;请阅读例如this article

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68296073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档