首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring测试。我无法在ldap中使用posixAccount objectClass,因为架构中禁用了它的使用。

在Spring测试中遇到无法在LDAP中使用posixAccount objectClass的问题,通常是因为LDAP服务器的架构配置不允许使用该对象类。以下是一些基础概念和相关解决方案:

基础概念

  1. LDAP (Lightweight Directory Access Protocol): 是一种用于访问和维护分布式目录服务的协议。
  2. ObjectClass: 在LDAP中,对象类定义了一组属性的集合,这些属性必须存在于目录中的每个条目中。
  3. posixAccount: 是一个标准的LDAP对象类,用于表示POSIX系统的用户账户,包含如uidNumber, gidNumber, homeDirectory, loginShell等属性。

可能的原因

  • 架构禁用: LDAP服务器可能配置为不允许使用某些对象类,例如posixAccount
  • 权限问题: 当前用户可能没有足够的权限来创建或修改具有posixAccount对象类的条目。
  • 服务器配置: LDAP服务器的配置文件可能明确禁用了posixAccount对象类。

解决方案

1. 检查LDAP服务器配置

确认LDAP服务器是否允许使用posixAccount对象类。这通常涉及到查看LDAP服务器的schema文件和配置设置。

2. 请求管理员启用对象类

如果你没有权限更改LDAP服务器配置,可能需要联系系统管理员请求启用posixAccount对象类。

3. 使用替代方案

如果无法启用posixAccount,可以考虑使用其他兼容的对象类,例如inetOrgPerson,它提供了类似的属性集,但更通用。

示例代码

以下是一个Spring LDAP测试的示例,展示了如何使用inetOrgPerson代替posixAccount

代码语言:txt
复制
import org.springframework.ldap.core.AttributesMapper;
import org.springframework.ldap.core.LdapTemplate;
import org.springframework.ldap.filter.AndFilter;
import org.springframework.ldap.filter.EqualsFilter;
import org.springframework.beans.factory.annotation.Autowired;
import javax.naming.NamingException;
import javax.naming.directory.Attributes;

public class LdapService {

    @Autowired
    private LdapTemplate ldapTemplate;

    public void searchUsers() {
        AndFilter filter = new AndFilter();
        filter.and(new EqualsFilter("objectclass", "inetOrgPerson"));

        ldapTemplate.search("ou=users,dc=example,dc=com", filter.encode(), new AttributesMapper<Attributes>() {
            @Override
            public Attributes mapFromAttributes(Attributes attrs) throws NamingException {
                // 处理找到的用户属性
                return attrs;
            }
        });
    }
}

应用场景

  • 用户管理: 在需要管理用户账户和权限的应用程序中。
  • 系统集成: 在集成POSIX兼容系统的环境中,尽管在这种情况下可能需要调整策略。

总结

如果你的LDAP服务器禁用了posixAccount对象类,可以通过检查服务器配置、请求管理员更改设置或使用替代对象类如inetOrgPerson来解决这个问题。确保你的应用程序逻辑适应这些变化,以保持功能的完整性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

6.如何为Hue集成RedHat7的OpenLDAP认证

将testldap用户设置为超级管理员,因为我们启用LDAP认证后admin用户则无法登陆 ?...将hue的用户的认证方式修改为LDAP,保存并重启Hue。 6.用户登录测试 ? 这里看到admin用户已无法正常登录,因为在OpenLDAP中并不存在admin这个用户。 ?...5.Hue集成Impala和Hive ---- 注意:如果Hive/Impala已设置了LDAP认证,需要在Hue中增加以下设置,否则Hue无法正常连接Hive或Impala进行查询。...6.未同步到Hue的用户登录测试 ---- 使用faysontest2用户直接登录Hue测试是否会在登录的时候自动创建LDAP用户。...如果Hive或者Impala已集成LDAP,则需要在Hue、HDFS、Impala中增加额外的配置。 Hue管理LDAP用户组的逻辑是独立管理用户和组,在同步用户的时候是不会将用户的组信息同步。

2.9K120

CDP-DC中Hue集成FreeIPA的LDAP认证

之前的文章包括使用FreeIPA为CDP DC7.1集群部署安全>,中为CM集成FreeIPA提供的LDAP认证>,在CDP-DC中Ranger集成FreeIPA的LDAP用户>。...2) CDP-DC集群已经部署,且启用了Kerberos 测试环境描述 FreeIPA集群已安装完毕。...同步LDAP用户组 重启成功后使用Hue的超级管理员登录,我们这里是admin用户为超级管理员,同时admin用户在freeipa中也存在,如果不存在,则需要根据第四章同步一个ldap的用户到hue系统中...用户登录测试 ? 这里看到使用原来的admin用户密码已无法正常登录,因为在freeIPA的LDAP中admin这个用户的密码不是数据库中的密码。...使用freeIPA中的admin账户也可以正常登陆。 ? 使用freeipa的test用户也可以正常登陆。 ?

1.6K20
  • 如何为CM集成FreeIPA提供的LDAP认证

    内容概述 1) 测试环境描述 2) FreeIPA的LDAP介绍 3) Cloudera Manager集成LDAP 4) Cloudera Manager集成验证 5) 总结 测试环境 1) RedHat7.7...: top objectClass: person objectClass: posixaccount objectClass: krbprincipalaux objectClass: krbticketpolicyaux...accounts,dc=ap-southeast-1,dc=compute,dc=internal 搜索LDAP组的基础域 LDAP 组搜索筛选器 member={0} 过滤搜索的LDAP组条件,使用或者的关系过滤组中...admins组测试 Admins组下只有一个成员admin,使用freeIPA中admin的用户信息登录。 ? ? 使用原来数据库中的admin用户信息登录。 ? ?...在测试LDAP用户登录成功后,可以将CM的“身份验证后端顺序”和“Authorization Backend Order”修改为“仅外部”。 3.

    1.8K10

    由浅入深剖析Openldap服务生存之南

    LDAP目录中的信息是按照树形结构进行组织的,具体是存储在条目(Entry)中,条目可以看成关系型数据库中的表记录,条目是具有区别名(Distinguished Name)的属性,DN是用来引用条目的,...认证和管理操作: 允许客户端在目录中识别自己,并且能够控制一个会话的性质 openldap的组织架构 企业多部门组织图 [123123.png] LDAP产品列表 厂商 产品...service slapd retsart 修改cn=config数据库的形式 理解生效 不需要重启slapd进程 objectclass 在openldap中,每个条目必须有包含一个objectclass...属性并且需要赋予一个值,因此可以理解objectclass的属性值为一种模板,定义哪些信息可以存取,哪些信息不可以存储在目录树中 objectclass和attribute有schema文件规定,schema...,主主架构,以及openldap的具体使用场景。

    1.7K10

    LDAP客户端认证配置与应用接入

    ,然后再把Dev该用户的gidNumber设置为上述用户组的gidNumber; 以上设置基本可以满足大部分业务场景的需要,但是如果我们需要根据用户组来过滤用户的话,Posixgroup用户组属性,是无法满足需要的...Group之中; 本段文章主要实践在Ldap中通过memberof的一个功能来实现添加多组用于不同的平台认证,首先需要查看我采用Docker搭建的openldap是支持memberof的功能。...0x02 应用服务接入 Ldap与sshd 描述:采用SSH进行远程LDAP用户验证登陆,先查询本地数据库中是否存在该用户如果不存在则从LDAP中请求查看该用户,并使用该用户密码进行验证登陆 ; 基础操作...的基础上复制条目(这里不过多的说明,不会的看前面的文章) #此时假设您已经添加成功,在phpldapadmin中可以看到新增用户,但是在本地上是没有新建的用户的; #重启服务 systemctl restart...home/ldaptest2:/bin/bash ldaptest3:x:1003:1003:ldaptest3:/home/ldaptest3:/bin/bash #用户密码设置(默认是不允许更改密码,我已经在

    3.6K10

    Kubernetes 中的用户与身份认证授权

    API 实际上做的工作就是 “人类用户” 与 kubernetes service account;那么就引出了一个重要概念就是 “用户” 在 Kubernetes 中是什么,以及用户在认证中的也是本章节的中心...=posixAccount 并且 uid=admin 或者 objectClass=posixGroup 并且 memberUid=admin 的条目信息,这里使用 ”|“ 与 ”&“ 是为了要拿到这两个结果...编写 webhook 查询用户部分 这里由于 openldap 配置密码保存格式不是明文的,如果直接使用 ”=“ 来验证是查询不到内容的,故直接多用了一次登录来验证用户是否合法 func ldapSearch...,即用户或者理解为要认证的 token 的定义,此处使用了 username@password 格式作为用户的辨别,即登录 kubernetes 时需要直接输入 username@password 来作为登录的凭据...,并且提示没有权限操作对应资源,此时将 admin 用户与集群中的 cluster-admin 绑定,测试结果 $ kubectl create clusterrolebinding admin -

    2K10

    LDAP维护和常见错误码

    6 恢复 未经恢复测试的备份都不能叫完整的备份。 现在直接将docker启动的两个容器干掉,因为并没有将数据目录往外挂载,所以再次启动的时候数据将会清空,一切都回到第一步时候的状态。...)已经在客户处理过程中时,请求一个绑定(bind)操作 LDAP_NO_SUCH_ATTRIBUTE = 0x10,//客户尝试修改或者删除一个并不存在的项的一个属性 LDAP_UNDEFINED_TYPE...= 0x21,//服务器在处理别名时遇到了一个错误 LDAP_INVALID_DN_SYNTAX = 0x22,//请求中指定的可区别名字的格式无效 LDAP_IS_LEAF = 0x23,//函数中指定的项是目录树中的一个叶子项...= 0x5e,//从服务器接受到一个响应,但是它没有包含结果 LDAP_CONTROL_NOT_FOUND = 0x5d,//从服务器接受到的数据表明有一个LDAP控制出现但是在数据中没有找到一个LDAP...控制 LDAP_MORE_RESULTS_TO_RETURN = 0x5f,//因为有太多的结果,所以客户无法检索 LDAP_CLIENT_LOOP = 0x60,//在处理引用时客户检测到一个循环 LDAP_REFERRAL_LIMIT_EXCEEDED

    1.9K20

    CDP-DC中Atlas集成FreeIPA的LDAP认证

    文档编写目的 Cloudera从CM6.3版本开始,引入了Red Hat IdM来做整个集群的认证,Red Hat IdM对应的软件为FreeIPA,在本文中描述如何使用FreeIPA来做CDP-DC集群的认证...之前的文章包括使用FreeIPA为CDP DC7.1集群部署安全>,中为CM集成FreeIPA提供的LDAP认证>,在CDP-DC中Ranger集成FreeIPA的LDAP用户>,中Hue集成FreeIPA的LDAP认证>,中Impala集成FreeIPA的LDAP认证>。...内容概述 1) 测试环境描述 2) FreeIPA的LDAP介绍 3) Atlas集成LDAP 4) Atlas集成验证 5) 总结 测试环境 1) RedHat7.7 2) CM和Cloudera Runtime...使用系统配置的admin用户和使用FreeIPA中的admin用户都可以登录到atlas,结果相同。 ? 使用FreeIPA中的其他ldap用户superuser登录atlas,正常登陆。 ?

    1.8K40

    如何在Ubuntu 18.04上安装OpenLDAP

    LDAP可用于用户验证,以及添加,更新和删除目录中的对象。 我想向您展示如何在最新的Ubuntu版本中安装OpenLDAP,然后介绍如何使用第一个条目填充LDAP数据库。...在终端窗口中,发出命令: nano ldap_data.ldif 在这个新文件中,添加以下内容(注意:您需要修改此文件以满足您的需要,因为这只是一个示例): dn: ou=People,dc=linuxidc...: 5000 dn: uid=USER,ou=People,dc=linuxidc,dc=com objectClass: inetOrgPerson objectClass: posixAccount...例如,您可以使用编辑和编写器,NetAdmins和SecAdmins,或DevOps和测试人员等条目。 保存并关闭该文件。...您现在拥有LDAP数据库中的第一个条目。 您可以在每次需要添加条目时修改该数据文件,也可以为LDAP安装基于Web的前端以使该过程更容易(我们将很快解决)。

    1.3K10

    6.如何为Hue配置OpenLDAP认证

    : account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {SSHA}KYgsfyI...6.用户登录测试 [y25i9yre8w.jpeg] 这里看到admin用户已无法正常登录,因为在OpenLDAP中并不存在admin这个用户。...5.Hue集成Impala和Hive ---- 注意:如果Hive/Impala已设置了LDAP认证,需要在Hue中增加以下设置,否则Hue无法正常连接Hive或Impala进行查询 1.通过CM在hue_safety_valve.ini...] 3.使用Impala操作SQL [yuoy5owery.jpeg] 执行count操作 [ldkr339so0.jpeg] 7.总结 ---- Hue默认第一个登录的用户为管理员账号,在集成LDAP...如果Hive或者Impala已集成LDAP,则需要在Hue、HDFS、Impala中增加额外的配置。 Hue管理LDAP用户组的逻辑是独立管理用户和组,在同步用户的时候是不会将用户的组信息同步。

    2.8K40

    LDAP基础安装与简单入门使用.md

    2.特点:是动态的,灵活的,易扩展的。 3.目录是一个为查询、浏览和搜索而优化的数据库,它成树状结构组织数据,类似文件目录一样。 什么是LDAP?...基本模型 每一个系统、协议都会有属于自己的模型,当然LDAP也不例外; 在了解LDAP的基本模型之前我们需要先了解几个LDAP的目录树概念: 目录树:在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树...值n| ------------- -------------- (2) 命名模型 描述:LDAP中的命名模型即LDAP中的条目定位方式,在LDAP中每个条目均有自己的DN 是该条目在整个树中的唯一名称标识...LDAP进行认证,在统一身份认证之后,用户的所有信息都存储在AD Server中。...终端用户在需要使用公司内部服务的时候,都需要通过AD服务器的认证。 WeiyiGeek.LDAP身份认证 那么程序中是如何访问的呢?

    3.6K20

    LDAP认证服务器

    注解: Suffix  指的登录域 Rootdn  指创建一个管理域的管理员 Rootpw  指管理员的密码(这里可写明文,但很不安全所以用了加密) 6.启用ldap,看是否正常运行 /usr/local...测试以管理者登入查询ldap的dit /usr/local/bin/ldapsearch -h 192.168.0.103 -x -D "cn=root,dc=demo,dc=com" -w 你的密码...mysql>exit; 安装php  (注意:在php的参数里面第一要添加--with-ldap --with-ldap-sasl ,不然ldap模块加载不了) tar zxvf php-5.4.14...没有问题,继续下一步,这里的*号里面的一定要填 ? 安装完了这里我们在totaralms里面启用Ldap认证 ? ? ? ?...改完这些点下面的保存更改就好了 然后测试之前我们创建的ldap帐号是否能登录 ? 这里之前我们创建了3个帐号,一个个试试 ? ?

    6K20
    领券