我使用WSO2 5.0.0作为IdP,用户存储是Active Directory(AD)。用户和角色列在WSO2管理控制台中,我也可以使用存储在AD中的用户/PW登录WSO2。因此,一切都很好。
我唯一的问题是,如果我请求用户的角色(例如通过RemoteUserStoreManagement-WebService,方法为getUserClaimValues),我会得到WSO2角色,而不是分配给AD中用户的Active Directory角色。此外,只有WSO2-角色映射到WSO2中的用户。
事实上,我对AD只有基本知识(我还没有调整WSO2和AD之间的当前连接),因此我不知道应该在哪里看一看才能解决这个问题。
有人对此问题有任何提示吗(user-mgt.xml或WSO2控制台或…)非常感谢你的帮助!
那么,您需要检索用户的角色吗?根据您所提到的,请按照以下步骤解决此问题。
- 如果配置中没有,请在user-mgt.xml文件中的用户存储管理器配置下添加以下属性
<Property name="BackLinksEnabled">true</Property>
<Property name="MemberOfAttribute">memberOf</Property>
请重新启动服务器并进行验证。
- 请在用户内核中启用调试日志,并验证问题是在哪里生成的
要启用日志,
找到log4j.properties文件,该文件可以在/repository/conf目录中找到。
在文件中添加以下条目
log4j.logger.org.wso2.carbon.identity.sso.saml=DEBUG
重新启动服务器并尝试调用服务器。您会看到与LDAP相关的日志,这些日志将有助于识别问题。