2012-05-16 114 views
2

我目前正在嘗試將WSO2數據服務服務器與我公司的LDAP服務器集成。 我一直在密切關注DSS管理員指南中的步驟: http://wso2.org/project/data-services/2.6.3/docs/user-core/admin_guide.html#LDAP 下部分: 5.如何配置外部LDAP用戶存儲/ Active Directory的用戶存儲WSO2數據服務服務器和LDAP集成

經過一番故障排除我能夠啓動在
CARBON_HOME \庫\的conf \用戶mgt.xml LDAP設置

然而,DSS服務器當我嘗試通過管理頁面登錄在@

https://localhost:9443/carbon/admin/login.jsp 

使用我的LDAP用戶標識和密碼,我無法成功登錄。

在CARBON_HOME \庫\日誌中的錯誤消息\ wso2carbon.log:

WARN {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} - 無法管理員登錄嘗試「用戶ID [0] '在[2012-05-16 11:33:49,0720]從IP地址127.0.0.1 {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil}

以下是我的配置文件:

<UserManager> 
    <Realm> 
     <Configuration> 
       <AdminRole>admin</AdminRole> 
       <AdminUser> 
        <UserName>userID</UserName> 
        <Password>XXXXXX</Password> 
       </AdminUser> 
      <EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in this role sees the registry root --> 
      <Property name="url">jdbc:h2:repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE</Property> 
      <Property name="userName">wso2carbon</Property> 
      <Property name="password">wso2carbon</Property> 
      <Property name="driverName">org.h2.Driver</Property> 
      <Property name="maxActive">50</Property> 
      <Property name="maxWait">60000</Property> 
      <Property name="minIdle">5</Property> 
     </Configuration> 
    <!-- If product is using an external LDAP as the user store in read only mode, use following user manager --> 
     <UserStoreManager class="org.wso2.carbon.user.core.ldap.LDAPUserStoreManager"> 
      <Property name="ReadOnly">true</Property> 
      <Property name="MaxUserNameListLength">100</Property> 
      <Property name="ConnectionURL">ldap://ldap.xx.xx.xx:389</Property> 
      <Property name="ConnectionName">cn=ssssss,OU=YYYYYY,dc=aa,dc=bb,dc=cc</Property> 
      <Property name="ConnectionPassword">pppppp</Property> 
      <Property name="UserSearchBase">DC=aa,DC=bb,DC=cc</Property> 
      <Property name="UserNameListFilter">(objectClass=user)</Property> 
      <Property name="UserNameAttribute">cn</Property> 
      <Property name="ReadLDAPGroups">false</Property> 
      <Property name="GroupSearchBase">ou=system</Property> 
      <Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property> 
      <Property name="GroupNameAttribute">cn</Property> 
      <Property name="MembershipAttribute">member</Property> 
      <Property name="UserRolesCacheEnabled">true</Property> 
     <Property name="ReplaceEscapeCharactersAtUserLogin">true</Property> 
     </UserStoreManager> 
     <AuthorizationManager 
      class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager"> 
      <Property name="AdminRoleManagementPermissions">/permission</Property> 
      <!-- Uncommenting the following element will enable the periodically running permission update task. 
      It is disabled by default. --> 
      <!-- <Property name="UpdatePermissionTreePeriodically">true</Property> --> 
     </AuthorizationManager> 
    </Realm> 
</UserManager> 

我也參考了這個鏈接: http://wso2.org/library/knowledge-base/import-ldap-users-carbon-based-products 關於「如何將LDAP用戶導入WSO2碳基產品」 但它似乎不適用於DSS,因爲它沒有「添加外部用戶存儲」選項,在用戶管理頁面。

對於我做錯了什麼,我將不勝感激。我正在使用wso2dataservices-2.6.3。

謝謝!

+1

您的管理員角色'admin'是否也在ldap中?此外,你可以仔細檢查基於用戶的屬性。即使這在DSS的用戶界面中不存在,您仍然遵循正確的方法,並且只有在配置完成後才能正常工作。 –

+0

謝謝。我已設法通過全新安裝DSS來解決此問題,並在第一次啓動服務器之前將user-mgt.xml設置爲指向外部ldap。 – gkl

回答

0

您是否試圖以管理員用戶身份登錄 - 該用戶是作爲user-mgt.xml的頂部還是LDAP中的其他用戶提及的?

如果您嘗試以非管理員用戶身份登錄,則需要先以管理員用戶身份登錄,併爲每個角色啓用登錄權限。

您提供的第二個參考不適用於當前版本的產品。

謝謝, Hasini。

+0

我試圖以user-mgt.xml頂部提到的admin用戶身份登錄。無論如何,我設法通過全新安裝DSS來解決問題,在我第一次啓動服務器之前,將user-mgt.xml設置爲指向外部ldap。 – gkl