当前位置: 首页 > 知识库问答 >
问题:

无法将OpenLDAP设置为wso2is 5.6.0的主用户存储:在管理控制台中添加新用户时,LDAP错误65

蓟雪峰
2023-03-14

无法添加用户主/johndoe@gmail.com。错误:无法访问目录上下文或系统中已存在用户:johndoe@gmail.com

在LDAP控制台中,您可以看到wso2is正在尝试使用ref-attribute添加用户:

5b7589c9 conn=1022 op=2添加dn=“mail=johndoe@gmail.com,ou=users,dc=wso2,dc=org”5b7589c9 conn=1022 op=2 RESULT tag=105 err=65 text=attribute“ref”仅在引用中允许

我不知道wso2is为什么要这么做。Referral-Option被禁用&WSO2特定的ldif文件已经导入。如何才能解决这个问题?

下面是我的user-Mgt.xml配置:

<UserManager>
  <Realm>
   <Configuration>
    <AddAdmin>true</AddAdmin>
      <AdminRole>admin</AdminRole>
      <AdminUser>
        <UserName>admin@wso2.com</UserName>
        <Password>admin</Password>
      </AdminUser>
      <EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in this role sees the registry root -->
      <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.ReadWriteLDAPUserStoreManager">
      <Property name="TenantManager">org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager</Property>
      <Property name="ConnectionURL">ldap://ldap:389</Property>
      <Property name="ConnectionName">cn=admin,dc=wso2,dc=org</Property>
      <Property name="ConnectionPassword">admin</Property>
      <Property name="AnonymousBind">false</Property>
      <Property name="UserSearchBase">ou=Users,dc=wso2,dc=org</Property>
      <Property name="UserEntryObjectClass">identityPerson</Property>
      <Property name="UserNameAttribute">mail</Property>
      <Property name="UserNameSearchFilter">(&amp;(objectClass=identityPerson)(mail=?))</Property>
      <Property name="UserNameListFilter">(&amp;(objectClass=identityPerson)(mail=*))</Property>
      <Property name="UserDNPattern">mail={0},ou=Users,dc=wso2,dc=org</Property>
      <Property name="DisplayNameAttribute"/>
      <Property name="ReadGroups">true</Property>
      <Property name="WriteGroups">true</Property>
      <Property name="GroupSearchBase">ou=Groups,dc=wso2,dc=org</Property>
      <Property name="GroupEntryObjectClass">groupOfNames</Property>
      <Property name="GroupNameAttribute">cn</Property>
      <Property name="GroupNameSearchFilter">(&amp;(objectClass=groupOfNames)(cn=?))</Property>
      <Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property>
      <Property name="RoleDNPattern">cn={0},ou=Groups,dc=wso2,dc=org</Property>
      <Property name="MembershipAttribute">member</Property>
      <Property name="BackLinksEnabled">false</Property>
      <Property name="UsernameJavaRegEx">^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$</Property>
      <Property name="UsernameJavaScriptRegEx">^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$</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,40}$</Property>
      <Property name="RolenameJavaScriptRegEx">^[\S]{3,40}$</Property>
      <Property name="SCIMEnabled">true</Property>
      <Property name="IsBulkImportSupported">false</Property>
      <Property name="EmptyRolesAllowed">false</Property>
      <Property name="PasswordHashMethod">PLAIN_TEXT</Property>
      <Property name="MultiAttributeSeparator">,</Property>
      <Property name="MaxUserNameListLength">100</Property>
      <Property name="MaxRoleNameListLength">100</Property>
      <Property name="kdcEnabled">false</Property>
      <Property name="defaultRealmName">WSO2.ORG</Property>
      <Property name="UserRolesCacheEnabled">true</Property>
      <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>

共有1个答案

洪高阳
2023-03-14

出现上述错误的原因是,在WSO2中,我们映射了一个名为“ref”的ldap属性来表示resourceType,但似乎“ref”是OpenLdap中为引用保留的属性。因此,我们看到了上面的错误。

为了解决这个问题,您可以按照下面的说明,

  1. 启动身份服务器后,转到主页->Identity->Claims->List。
  2. 选择“URN:IETF:Params:SCIM:Schemas:Core:2.0”,然后单击“URN:IETF:Params:SCIM:Schemas:Core:2.0:Meta.ResourceType”上的编辑。
  3. 对于“Mapped Local claim”,选择要映射到此的适当声明。例如:http://wso2.org/claims/usertype,点击update.
 类似资料:
  • LDAP作为用户存储 目录专为快速阅读而设计。与数据库相比,它们可以包含的数据类型更严格。目录按照层次结构进行组织。目录可以存储用户详细信息,可以查询和验证。目录也可以轻松复制。这使目录成为理想的用户存储。 LDAP是用于通过TCP / IP网络访问目录的协议。它可用于存储公共电子邮件地址,验证用户身份,管理数字证书和供应 有关网络上节点或设备的信息。 Novell的eDirectory和Micr

  • 用户列表 该面板允许开发者查看当前小程序的所有用户信息以及对用户设置分组 分组管理 该面板允许用户创建并修改分组

  • 参考http://activemq.apache.org/security.html的ActiveMQ安全留档,我正在尝试将新用户添加到我的ActiveMQ配置中。该用户应该只能看到可用队列的子集。 我做了以下工作: 1)在users.properties中添加了一个条目: 2) 在组中添加了一个条目。属性: 3) 向activemq添加了一个条目。xml,在代理元素的plugins元素中: 当我

  • 问题内容: 我喜欢为yocto项目的内置用户做一些事情: 1.)将root用户的密码设置为“ abc” 2.)将ssh登录表单/ bin / sh的根shell设置为/ bin / bash 3.)使用密码“ xyz”添加用户“ customUser” 认为简单的食谱可以做到这一点。到目前为止,我尝试了@ myUser.bb: 任何想法如何做到这一点? 问题答案: 我以您的示例为例,进行了两个小更

  • 有没有办法添加Firebase 3存储安全规则来限制单个认证用户可以上传多少个文件?例如每个用户100个文件。 或者更新Firebase数据库文件数,一旦有人将文件上传到存储器,然后验证文件数。 试图解决问题,如何处理用户上传无限量数据到存储器的能力。

  • 我正在开发一个Angular应用程序,它使用Firebase来管理用户。在这一点上一切正常:用户通过Facebook进行身份验证,当用户登录时显示FB个人资料图片等。该应用程序的目标是允许用户上传视频,并对视频进行投票。我一直在考虑是否可能使用MySQL数据库来存储用户视频(由于免费Firebase帐户的存储空间有限),但我不确定这是否可行。有人对这种性质的东西有经验吗?我已经浏览网页有一段时间了