我有一个JHipster网关和微服务,目前被配置为通过Keycloak使用OAUTH/OIDC。目前,所有资源都可供经过身份验证的用户使用。我希望使用keycloak中可用的细粒度安全性(允许对JHipster微服务客户端id进行授权),以进一步通过资源id(如Keycloak文档中所引用的) authorization进行安全保护。例如,只将*/api/companies/{id}限制在特定的Keycloak用户/组上。
这在杰普斯特支持吗?基于日志,看起来可以将AccessControlFilter配置为限制,但我不清楚这是如何连接到密钥披风细粒度资源身份验证的。
2018-04-15 07:11:20.905 DEBUG 18184 --- [ XNIO-2 task-8] c.e.gateway.aop.logging.LoggingAspect : Enter: com.example.gateway.web.rest.AccountResource.getAccount() with argument[s] = [org.springframework.security.oauth2.provider.OAuth2Authentication@2ea9380c: Principal: user; Credentials: [PROTECTED]; Authenticated: true; Details: remoteAddress=0:0:0:0:0:0:0:1, sessionId=<SESSION>, tokenType=bearertokenValue=<TOKEN>; Granted Authorities: company.jcb.role1, ROLE_USER]
2018-04-15 07:11:20.907 DEBUG 18184 --- [ XNIO-2 task-8] c.e.gateway.aop.logging.LoggingAspect : Exit: com.example.gateway.web.rest.AccountResource.getAccount() with result = com.example.gateway.domain.User@3a45e83a
2018-04-15 07:11:22.208 DEBUG 18184 --- [oundChannel-104] c.e.g.web.websocket.ActivityService : Sending user tracking data ActivityDTO{sessionId='hchu0fkx', userLogin='user', ipAddress='/0:0:0:0:0:0:0:1:54212', page='/', time='2018-04-15T13:11:22.208Z'}
2018-04-15 07:11:24.634 DEBUG 18184 --- [ XNIO-2 task-19] c.e.g.g.a.AccessControlFilter : Access Control: allowing access for /micro/api/companies, as no access control policy has been set up for service: micro发布于 2018-06-14 12:26:20
由于authorization中所描述的Keycloak授权不受Jhipster的支持,因此为了更好地保护资源,我决定:
123 -帐户经理-雇员-主管456 -帐户经理-雇员-主管
用户帐户可以分配给各个组。例如,用户"John“可以访问公司"456”和角色"Employee“。
https://stackoverflow.com/questions/49842976
复制相似问题