0

会社の Active Directory に接続するように user-mgt.xml を変更しました。

admin ユーザーで入ると、ログインして Active Directory のユーザーを確認できます。しかし、別のユーザーで試してみると、レジストリは常に間違ったユーザー名またはパスワードを示していました (両方が正しいことはわかっています)。

Wireshark のようなスニファを使用すると、アクティブ ディレクトリがユーザーの完全な名前と詳細なデータを返していることがわかります。そのため、レジストリがログインを許可しない理由がわかりません。

Authentication failure. Wrong username or password is provided {org.wso2.carbon.user.core.common.AbstractUserStoreManager}

<AddAdmin>true</AddAdmin>
<AdminRole>wso2admin</AdminRole>
<AdminUser>
 <UserName>XXXXX</UserName>
 <Password>XXXXX</Password>
</AdminUser>
<EveryOneRoleName>everyone</EveryOneRoleName>
<Property name="dataSource">jdbc/WSO2CarbonDB</Property>

<UserStoreManager class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager">
 <Property name="TenantManager">org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager</Property>
 <Property name="defaultRealmName">WSO2.ORG</Property>
 <Property name="Disabled">false</Property>                                   
 <Property name="kdcEnabled">false</Property>
 <Property name="ConnectionURL">ldap://XXXXXXXX:389</Property> 
 <Property name="ConnectionName">cn=XXXXX,CN=Users,DC=itlab,DC=bk</Property>
 <Property name="ConnectionPassword">XXXXXX</Property>
 <Property name="passwordHashMethod">PLAIN_TEXT</Property>
 <Property name="UserSearchBase">CN=Users,DC=itlab,DC=bk</Property>
 <Property name="UserEntryObjectClass">user</Property>
 <Property name="UserNameAttribute">cn</Property>
 <Property name="isADLDSRole">false</Property>
 <Property name="userAccountControl">512</Property>
 <Property name="UserNameListFilter">(objectClass=user)</Property>
 <Property name="UserNameSearchFilter">(&amp;(objectClass=user)(cn=?))</Property>
 <Property name="UsernameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
 <Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property>
 <Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property>
 <Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property>
 <Property name="RolenameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
 <Property name="ReadGroups">true</Property>
 <Property name="WriteGroups">false</Property>
 <Property name="EmptyRolesAllowed">true</Property>
 <Property name="GroupSearchBase">ou=Grupos,DC=itlab,DC=bk  </Property>
 <Property name="GroupEntryObjectClass">group</Property>
 <Property name="GroupNameAttribute">cn</Property>
 <Property name="SharedGroupNameAttribute">cn</Property>
 <Property name="MembershipAttribute">member</Property>
 <Property name="GroupNameListFilter">(objectcategory=group)</Property>
 <Property name="GroupNameSearchFilter">(&amp;(objectClass=group)(cn=?))</Property>
 <Property name="UserRolesCacheEnabled">true</Property>
 <Property name="Referral">follow</Property>
 <Property name="BackLinksEnabled">true</Property>
 <Property name="MaxRoleNameListLength">100</Property>
 <Property name="MaxUserNameListLength">100</Property>
 <Property name="SCIMEnabled">false</Property>
</UserStoreManager>

ありがとう!

4

1 に答える 1

0

user-mgt.xml ファイルの admin ユーザー以外の AD ユーザーを使用して Governance レジストリにログインできないということですか? 通常、ガバナンスレジストリの管理コンソールにログインするには、

  1. ユーザーは AD で適切に認証する必要があります
  2. 管理コンソールにアクセスするには、ユーザーにログイン権限が必要です。

あなたのコメントによると、認証は問題ないようです。その後、ユーザーは理由 2 により失敗しました

admin としてログインし、ユーザー ロール管理ページに移動してください。ここでは、「全員」というロールが表示されます。そのロールに「ログイン」権限を付与してください。

「everyone」は、AD 内のすべてのユーザーにマップされた役割です。したがって、「全員」ロールに許可を与えると、AD のすべてのユーザーがログインできることを意味します...

それでも成功しない場合は、conf ディレクトリにある log4j.properties ファイルを使用して、org.wso2.carbon.use.core パッケージのデバッグ ログを有効にしてください。

于 2013-11-15T09:02:36.600 に答える