我有一个连接到BlueMix SSO服务的本地Liberty Profile实例正在运行。身份验证似乎正在工作,但我没有得到在我的主题填充组。BlueMix SSO云目录组映射安全角色不起作用
在我basicRegistry我得到这个用表格Authc:
com.ibm.ws.security.credentials.wscred.WSCredentialImpl [email protected],realmName=BasicRealm,securityName=user1,realmSecurityName=BasicRealm/user1,uniqueSecurityName=user1,primaryGroupId=group:BasicRealm/admin,accessId=user:BasicRealm/user1,groupIds=[group:BasicRealm/admin]
当我对BlueMix SSO云目录认证authc我得到这个:
com.ibm.ws.security.credentials.wscred.WSCredentialImpl [email protected],realmName=www.ibm.com,securityName=<ssoservice-name>.iam.ibmcloud.com/www.ibm.com/user1,realmSecurityName=www.ibm.com/<ssoservice-name>.iam.ibmcloud.com/www.ibm.com/user1,uniqueSecurityName=<ssoservice-name>.iam.ibmcloud.com/www.ibm.com/user1,primaryGroupId=null,accessId=user:www.ibm.com/<ssoservice-name>.iam.ibmcloud.com/www.ibm.com/user1,groupIds=[]
但我可以看到它越来越到云目录,因为我可以看到群体回来的ID令牌详细信息: 理赔
{"ext":"{\"tenantId\":\"<ssoservice-name>.iam.ibmcloud.com\",\"groups\":[\"allUsers\",\"admin\"],
我已经尝试了一些不同的映射来得到这些团体了,但我一直没能弄明白,我已经用完了数据仓库技术和谷歌搜索:
<security-role name="admin"><group name="admin" access-id="group:www.ibm.com/admin"></group></security-role>
是否有可能得到正确的配置正确地填充我的主题声明组?我希望在我的授权方案中实际使用更多,只是ALL_AUTH_USERS。
<security-role name="authcUsers"><special-subject type="ALL_AUTHENTICATED_USERS"></special-subject></security-role>
更新:: 02JUL16 - 所以它似乎是能够拿起特定用户USER1下面被映射到管理角色,但最后SSO组映射仍然无法正常工作。
<security-role name="admin">
<user name="user1" access-id="user:www.ibm.com/<sso-service>.iam.ibmcloud.com/www.ibm.com/user1"/>
<group name="admin" access-id="group:BasicRealm/admin"/>
<group name="admin" access-id="group:www.ibm.com/<sso-service>.iam.ibmcloud.com/www.ibm.com/admin"/>
问候, 约翰
感谢您的信息。看起来像是@RolesAllowed(“authcUsers”),打破了JAAS和/或JEE安全性的大多数好处。当然,如果这是暂时的实施差距或Bluemix SSO的长期方向,那么很好,因为映射每个用户不适用于除ALL_AUTHENTICATED_USERS以外的任何其他用户。我想我的计划是使用@Interceptors(SecurityInterceptor.class)来检查正常的JAAS Subject组成员资格,如果没有找到,请检查ID Token Claims组列表中列出的组成员资格或拒绝。感谢你的宝贵时间。 –
是的,这是目前的限制。 –