WSO2 API管理器:ActiveDirectory作为第二个用户存储

时间:2014-06-25 09:22:45

标签: wso2

我在这里为第二个用户存储创建了我的配置文件:/opt/wso2am-1.7.0/repository/deployment/server/userstores我用我的域名命名它(sub_dom_local.xml我的域是sub。 dom.local) 并设置为主用户存储jdbc存储。 当我尝试使用域用户名登录时,我收到此错误: [2014-06-25 10:48:39,828]错误 - 验证/授权用户时出现系统错误:[Ljava.lang.Object;无法转换为[Ljava.lang.String; {org.wso2.carbon.core.services.authentication.AuthenticationAdmin}

我确信我插入了正确的用户名和密码,我启用了调试日志,并在日志中看到验证过程连接到Active目录并检索所有信息。 如果我输入了错误的密码我没有错误,但我有错误密码的信息。 你可以帮帮我吗? 谢谢杰克

2 个答案:

答案 0 :(得分:1)

当启用ActiveDirectoryUserStoreManager时,似乎我们需要在Authorization manager中启用GetAllRolesOfUserEnabled属性,如下所示在用户管理器配置中

`<AuthorizationManager class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager">
<Property name="AdminRoleManagementPermissions">/permission</Property>
<Property name="AuthorizationCacheEnabled">true</Property>
<Property name="GetAllRolesOfUserEnabled">true</Property>
</AuthorizationManager>

`

否则它会抛出您提到的异常。

答案 1 :(得分:0)

尝试此配置:

<UserStoreManager class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager">
...
 <Property name="MemberOfAttribute"/>
...
</UserStoreManager>

您没有指定MemberOfAttribute。 利玛