我有一个运行的本地Liberty Profile实例,它连接到BlueMix SSO服务。身份验证似乎正在运行,但我没有在我的主题中填充这些组。
在我的basicRegistry中,我使用Form Authc:
com.ibm.ws.security.credentials.wscred.WSCredentialImpl com.ibm.ws.security.credentials.wscred.WSCredentialImpl@3fb28fe1,realmName=BasicRealm,securityName=user1,realmSecurityName=BasicRealm/user1,uniqueSecurityName=user1,primaryGroupId=group:BasicRealm/admin,accessId=user:BasicRealm/user1,groupIds=[group:BasicRealm/admin]
当我对BlueMix SSO Cloud Directory authc进行身份验证时,我得到了这个:
com.ibm.ws.security.credentials.wscred.WSCredentialImpl com.ibm.ws.security.credentials.wscred.WSCredentialImpl@5b91df41,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\"],
我尝试了几种不同的映射来解决这些群体,但我无法弄明白,而且我已经用完了dW和谷歌搜索:
<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>
UPDATE :: 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"/>
此致 约翰
答案 0 :(得分:0)
当前的Bluemix SSO服务不支持组角色。您对用户角色的观察是正确的。您可以执行用户角色授权。此链接告知您需要为用户指定的格式以允许访问 - &gt; https://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/rwlp_config_authorization-roles.html