我正在开发一个Spring / Security应用程序,它使用Keycloak作为标识和访问管理(IAM)组件。我们有一个用户界面,管理员可以定义子用户以及查看、编辑和删除不同模块的相关权限。这些权限可以不时更新,并在我们应用程序的Postgres数据库中进行维护。
我已经使用令牌完成了最初的实现,在该实现中,我以授予权限的身份添加了这些权限,并在方法级别使用了注释(如@PreAuthorize("hasAuthority('LIST_CURRENCIES')") )来实现这一点。但是,到目前为止,当我将IAM卸载到Keycloak时,还没有成功地执行方法级别的安全性。
我们如何将这些权限同步到Keycloak,以便将每个用户的权限列表作为声明包含在JWT令牌中,这些声明可以由Security强制执行?
发布于 2022-10-16 05:08:11
您可以查看一下api模块的https://github.com/ch4mpy/user-proxies。
在这个项目中,我为keycloak定义了一个定制映射程序,以添加一个自定义声明来访问令牌,然后在spring安全SpEL中使用它。
https://stackoverflow.com/questions/74084614
复制相似问题