Ldap 子组织和唯一id
我可以使用ApacheDS成功验证我的应用程序 但现在我只使用一个域 我想在根域下添加子域或子组织 例如,根组织作为Ldap 子组织和唯一id,ldap,spring-ldap,apacheds,Ldap,Spring Ldap,Apacheds,我可以使用ApacheDS成功验证我的应用程序 但现在我只使用一个域 我想在根域下添加子域或子组织 例如,根组织作为 dc=example,dc=com 和子组织dc=x 另一个子组织dc=y 现在我可以使用uid属性对用户进行身份验证 比如: 我使用类似user1的登录名,没有@extension 但我想有子组织,我想使用user1@x.example.com 有可能吗?怎么可能 我的应用程序是spring应用程序,但我认为subject独立于我的应用程序端。LDAP标准跟踪中为电子邮件地址
dc=example,dc=com
和子组织dc=x
另一个子组织dc=y
现在我可以使用uid属性对用户进行身份验证
比如:
我使用类似user1的登录名,没有@extension
但我想有子组织,我想使用user1@x.example.com
有可能吗?怎么可能
我的应用程序是spring应用程序,但我认为subject独立于我的应用程序端。LDAP标准跟踪中为电子邮件地址定义的属性是
mail
,rfc822mailbox
,或0.9.2342.19200300.100.1.3
,如中所定义。也许您的过滤器应该是使用这些类型之一的属性断言,例如,user search filter=“mail={0}”
我不知道“手动”是什么意思。LDAP没有组织的概念,只有可能属于组织的条目
。如果条目属于允许或需要mail
属性的objectClass
,则这些条目可能具有mail
属性。换句话说,如果您的筛选器是mail={0}
(可能会变成mail=user1@x.example.com
),然后使用该过滤器进行搜索(给定适当的基本对象和范围)将返回所有具有mail
属性且值为user1@x.example.com
无论该用户位于何处,也不管uid
属性的值
如果组织中的用户可以通过其他方式(可能是通过组织或其他属性)进行标识,则过滤器可以是:
(&(uid={0})(o=x))
或
无论如何,用户的条目必须能够通过条目内容识别。LDAP数据库中的主键是可分辨名称(uid=abc,dc=x,dc=example,dc=com
),但条目中的属性可用于加强过滤器。有些备选方案是:
- 使用唯一标识符(所有
或uid
值在数据库中都是唯一的,因此在搜索请求中只返回一个)mail
- 使用属性标识组织中的用户(如上面示例过滤器中的
)o
- 使用动态组生成组织中的用户列表
- 考虑使用可扩展的匹配筛选器,使可分辨名称中的值成为筛选过程的一部分
- -这篇文章是关于
命令行工具的,但是这些概念在构造搜索请求时很有用ldapsearch
mail
,rfc822mailbox
,或0.9.2342.19200300.100.1.3
,如中所定义。也许您的过滤器应该是使用这些类型之一的属性断言,例如,user search filter=“mail={0}”
我不知道“手动”是什么意思。LDAP没有组织的概念,只有可能属于组织的条目
。如果条目属于允许或需要mail
属性的objectClass
,则这些条目可能具有mail
属性。换句话说,如果您的筛选器是mail={0}
(可能会变成mail=user1@x.example.com
),然后使用该过滤器进行搜索(给定适当的基本对象和范围)将返回所有具有mail
属性且值为user1@x.example.com
无论该用户位于何处,也不管uid
属性的值
如果组织中的用户可以通过其他方式(可能是通过组织或其他属性)进行标识,则过滤器可以是:
(&(uid={0})(o=x))
或
无论如何,用户的条目必须能够通过条目内容识别。LDAP数据库中的主键是可分辨名称(uid=abc,dc=x,dc=example,dc=com
),但条目中的属性可用于加强过滤器。有些备选方案是:
- 使用唯一标识符(所有
或uid
值在数据库中都是唯一的,因此在搜索请求中只返回一个)mail
- 使用属性标识组织中的用户(如上面示例过滤器中的
)o
- 使用动态组生成组织中的用户列表
- 考虑使用可扩展的匹配筛选器,使可分辨名称中的值成为筛选过程的一部分
- -这篇文章是关于
命令行工具的,但是这些概念在构造搜索请求时很有用ldapsearch
(&(uid={0})(o=y))