我正在尝试使用 KeyCloak 在两个 Java Web 应用程序中设置单点登录。
我创建了一个 Realm
、Client
和 User Federation
(ldap),并在 Client
中配置了两个 URL 应用程序code>(有效的重定向 URI)
登录后,我可以正常浏览这两个应用程序。
启用Authorization Enabled
后,我将Enforcement Policy
更改为Enforcing
,这应该会阻止对两个应用程序页面的访问,但访问仍然允许访问所有页面。
我尝试创建一个策略/资源/权限组
来阻止每个用户或通过 URL 访问某些页面,但没有效果。
要使这些权限设置生效,我还需要执行其他操作吗?
最佳答案
您必须向服务器应用程序应用强制执行器,以强制执行您的权限。我使用 Nodejs 适配器,因此在我的例子中,我使用 keycloak 的执行器方法“keycloak.enforcer('resource:scope')”作为中间件,以确保在允许用户继续之前将策略/资源/权限应用于该 API。
关于java - 未应用 KeyCloak 授权权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54205213/