Keycloak-将登录客户端限制为组成员

时间:2018-10-09 11:12:54

标签: spring-security oauth-2.0 keycloak

我目前正在使用Keycloak作为处理登录到我的应用程序的解决方案。我使用的是Spring,但未使用Keycloak适配器,而是在安全性配置链中使用了.oauth2Login()

我试图在Keycloak中实施一项政策,以确保用户无济于事。我什至还执行了一个专门由$evaluation.deny()组成的JS策略,据我所知,该策略应阻止所有登录到客户端的尝试。但是,此操作不执行任何操作,相反,任何用户(在LDAP服务器上存在)都可以登录。

任何帮助或指导将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果在Activiti project上有帮助,我们正在使用密钥斗篷,并且会根据用户所属的组应用策略。我们发现使用keycloak spring boot适配器来限制基于on role的访问很容易,但是groups则比较棘手。为此,我们wrote code to look up the user's groups使用keycloak java SDK,然后在应用程序级别上过滤用户可以根据其看到的内容-实际上为based on restrictions that can be passed in at deploy time

keycloak java sdk只是调用keycloak的REST API,因此,在您的情况下,您可以从javascript调用REST API以找出用户所属的组(我想您已将keycloak配置为提取来自LDAP)。

我不知道有什么现成的方法可以从密钥斗篷中进行所需的限制,因为限制方法是针对角色而非组的。如果您使用role mapper,也许有可能,但我对此并不了解。