2017-11-23 7 views
0

環境として、Active Directoryでユーザーを追加することはできません: WSO2(IDMは)主要ユーザーストア

  • のWindows 7 SP1
  • jdk_1.8.0_151にインストール

    • WSO2 5.3.0プライマリユーザーストアオン
    • AD(Windows server 2016 Active Dir ectory)

    処置:

    • WSO2は通常
    • wsoadminのユーザーが
    • WSO2が上WSO2管理menueにログインするAD
    • LDAPSを経由して結合し、ADに利用可能である始まり管理者として7クライアントを獲得してください。
    • 既存のADユーザーはすべてwso2で表示されます。 (メールアドレスのみを持つもの)

    私は、新しいユーザーを追加したい場合は、 "wsotest" エラーがスローされERSリストビュー:

    ERROR {org.wso2.carbon.user.mgt.ui.UserAdminClient} - 
    Error while adding the user to the Active Directory for user : 
    wsotest 
    [...] 
    Caused by: javax.naming.directory.NoSuchAttributeException: 
    [LDAP: error code 16 - 00000057: LdapErr: DSID-0C091027, comment: 
    Error in attribute conversion operation, data 0, v3839 ]; 
    remaining name 'cn=wsotest' 
    

    ユーザーmgt.xml:

    <UserManager> 
        <Realm> 
         <Configuration> 
         <AddAdmin>False</AddAdmin> 
          <AdminRole>admin</AdminRole> 
          <AdminUser> 
           <UserName>wsoadmin</UserName><!-- already be available in user store, here: AD --> 
           <Password>admin</Password><!-- keep default; real pw is already set in AD --> 
          </AdminUser> 
          <EveryOneRoleName>everyone</EveryOneRoleName> 
          <Property name="isCascadeDeleteEnabled">true</Property> 
          <Property name="initializeNewClaimManager">true</Property> 
          <Property name="dataSource">jdbc/WSO2CarbonDB</Property> 
         </Configuration> 
    
         <UserStoreManager class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager"> 
          <Property name="TenantManager">org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager</Property> 
          <Property name="defaultRealmName">wso.ad.org</Property> 
          <Property name="Disabled">false</Property> 
          <Property name="kdcEnabled">true</Property> 
          <Property name="ConnectionURL">ldaps://dc.wso.ad.org:636</Property> 
          <Property name="ConnectionName">CN=wsoadmin,OU=AllUsers,DC=wso,DC=ad,DC=org</Property> 
          <Property name="ConnectionPassword">*******</Property> 
          <Property name="PasswordHashMethod">PLAIN_TEXT</Property> 
          <Property name="AnonymousBind">false</Property> 
          <Property name="UserSearchBase">OU=AllUsers,DC=wso,DC=ad,DC=org</Property> 
          <Property name="UserEntryObjectClass">user</Property> 
          <Property name="UserNameAttribute">sAMAccountName</Property> 
          <Property name="UserNameSearchFilter">(&amp;(objectClass=user)(sAMAccountName=?))</Property> 
          <Property name="UserNameListFilter">(&amp;(objectClass=user)(sAMAccountName=*))</Property> 
          <!-- --> 
          <Property name="ReadGroups">true</Property> 
          <Property name="WriteGroups">false</Property> 
          <Property name="GroupSearchBase">CN=Users,DC=wso,DC=ad,DC=org</Property> 
          <Property name="GroupEntryObjectClass">group</Property> 
          <Property name="GroupNameAttribute">cn</Property> 
          <Property name="GroupNameSearchFilter">(&amp;(objectClass=group)(cn=?))</Property> 
          <Property name="GroupNameListFilter">(objectcategory=group)</Property> 
          <Property name="MembershipAttribute">member</Property> 
          <Property name="MemberOfAttribute">memberOf</Property> 
          <Property name="BackLinksEnabled">true</Property> 
          <Property name="Referral">follow</Property> 
          <Property name="UsernameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
          <Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property> 
          <!-- --> 
          <Property name="UsernameJavaRegExViolationErrorMsg">Username pattern policy violated</Property> 
          <Property name="PasswordJavaRegEx">^[\S]{5,30}$</Property> 
          <Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property> 
          <Property name="PasswordJavaRegExViolationErrorMsg">Password length should be within 5 to 30 characters</Property> 
          <Property name="RolenameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
          <Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property> 
          <Property name="SCIMEnabled">false</Property> 
          <Property name="IsBulkImportSupported">false</Property> 
          <Property name="EmptyRolesAllowed">true</Property>    
          <Property name="MultiAttributeSeparator">,</Property> 
          <Property name="isADLDSRole">false</Property> 
          <Property name="userAccountControl">512</Property> 
          <Property name="MaxUserNameListLength">100</Property>  
          <Property name="MaxRoleNameListLength">100</Property>      
          <Property name="UserRolesCacheEnabled">false</Property><!-- default true --> 
          <Property name="ConnectionPoolingEnabled">false</Property> 
          <Property name="LDAPConnectionTimeout">5000</Property> 
          <Property name="ReadTimeout"/> 
          <Property name="RetryAttempts"/> 
         </UserStoreManager> 
    
         <AuthorizationManager class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager"> 
          <Property name="AdminRoleManagementPermissions">/permission</Property> 
          <Property name="AuthorizationCacheEnabled">true</Property> 
          <Property name="GetAllRolesOfUserEnabled">false</Property> 
         </AuthorizationManager>  
    
        </Realm> 
    </UserManager> 
    

    組み込みldap.xml

    <EmbeddedLDAP> 
    <Property name="enable">false</Property> 
    

    任意の勧告?

  • 答えて

    1

    は解決策を見つけた:

    こうしてCNが適切に構成され、ユーザmgt.xml

    <Property name="UserDNPattern">cn={0},ou=AllUsers,dc=wso,dc=ad,dc=com</Property> 
    

    内UserStoreManagerこのプロパティを追加します。明らかに、AD LDAPに従ってこのDN文字列の構造と内容を適合させる必要があります。

    ユーザーのDNのためのパッテン:

    WSO2's manualのためのRE UserDNPattern誤解を招くビットで、私にこれを見つけるためにはかなり時間がかかりました。これは、LDAP検索を改善するために定義できます。 LADPに多数のユーザエントリがある場合、ユーザを見つけるためにLDAPがツリー全体を移動する必要がないため、「UserDNPattern」の定義はパフォーマンスに大きな影響を与えます。

    音はオプションのようですが、必要であるようです。

    関連する問題