LADP如何查uid
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LADP如何查uid相关的知识,希望对你有一定的参考价值。
LADP如何查uid
参考技术A irectory Access Protocol )轻量级目录访问协议已经为一般的标准邮件服务器所支持的协议。LDAP 是更复杂的目录访问协议X.500 Directory Access
Protocol 的一个子集.。作为Windows NT 的服务程序,LDAP 服务可以完全的在后台运
行或者是有部分交互的得运行。在你登出Windows NT 系统以后,LDAP 服务将会继续运
行。想了解更多的有关于LDAP 的信息,请参考Internet Requests for
Comments (RFCs)。IMail 服务器是依据RFC-2251 实现LDAP 服务。
Imail 的LDAP 的实现
IMail 服务器为IMail 用户数据库提供了一个LDAP 借口。IMail 用户数据库已经被扩
展包含了标准的LDAP属性(例如名字,地址,组织名字,电话号码)和其他的自定义的属
性。用户数据库不支持树状结构的组织形式。每一个Imail 系统中的用户有一个LDAP
纪录。当一个用户被加入到Imail 用户数据库中以后,LDAP 的属性有以下得属性:
ObjectClass 记录类型。该值应该是“Person.”
CN CommonName 用户的全名。
Mail 该用户的Imail 服务器上的邮件地址。该;邮件地址由用户账号和主机名构成。
UID Imail 服务器中的用户的帐号。
利用LDAP 客户端, 用户可以在他自己的LDAP 记录中增加,删除,修改信息。用户不可
以修改其它的用户的LDAP 信息。下面描述了用户可以增加的一些属性。
在LDAP 记录中这些属性实最常用的。其他的一些属性可以由系统管理员或者用户自己定
义。
系统管理员可以增加,删除用户,增加LDAP 属性,修改LDAP 属性:
• IMail Administrator — 想了解更多的相关信息,请参考第四章。
• A web browser. 想了解更多的相关得信息,请参考第六章。
注意
你可以用LDAP 客户端增加/修改属性(但不能增加/删除用户)。
SurName 用户名字的最后一个名字。
Organization 用户所在的公司的名字。
OrgUnit 用户所在的公司部门。
Street 用户的地址信息。
City 用户所在得城市。
ST 用户所在的省市。
Postal 用户所在区域的邮政编码。
C 用户的国籍。
Telephone 用户的联络电话号码。
对LDAP 目录服务的完整的支持
IMail 服务器支持LDAP 版本3, 该版本有以下得性能:
• 允许用户使用LDAP 客户端比如Netscape Communicator to:
• 确定LDAP 目录信息包括名字,电话号码,邮件地址,组织名称,部门和地址。
• 列出一台主机上的所有的用户。
• 根据给定的条件搜索用户。
• 在LDAP 目录中修改用户自己的信息。
• 主机管理员和系统管理员可以利用LDAP 客户端增加,删除,修改用户账号,包括
LDAP 目录信息.
• 你可以监视LDAP 服务器的运行状况.在服务器当机的时候可以收到警告.更具体得信
息可以参考第16章.
为没有登记的用户提供LDAP 信息
LDAP 的用户必须同时是Imail 邮件服务器中的用户.必须在邮件主机中有相应得邮件账
号.如果你想为没有邮件账号的用户提供LDAP 信息,你必须为他们创建账号然后在账号
的属性中选择Account Access Disabled .
从Microsoft 的邮件客户端访问LDAP 信息
如果你有客户使用Outlook Express 作为邮件客户端,无法从Imail 邮件服务器上访问
LDAP 信息, 用户可以更改Outlook Express 的设置. 如果该用户还没有建立IMail
LDAP 记录, 需要以下得步骤创建:
1 在Outlook Express 中, 在Tools 菜单中选择Accounts --> Directory Service -
->Add --> Directory Service .
2 在文本框Internet directory (LDAP) server 中,输入Imail 服务器的名字或者是
IP 地址和其他的信息.
3 完成以后单击按钮Finish .
一旦用户建立了LDAP 记录,用户必须编辑以下得LDAP 属性:
1 在Outlook Express 中, 选择Accounts -> Directory Service.
2 选择LDAP account.
3 选择Properties, 然后单击Advanced 标签.
4 在文本框Search Base 中, 输入:
objectclass=Person.
5 单击Apply, 然后单击OK, 接着单击Close.
Populating the LDAP Database
如果你需要一次加入大量的用户,你可能希望能够批处理的完成.请参考
“Populating the LDAP Database (ldaper.exe)”.
登入
缺省的,LDAP 服务用系统账号登入。你可以在用Windows NT/2000 控制面板中的
Services applet小程序更改这个设定。
1 在控制面板中,双击小程序Services 。
2 选择IMail LDAP Server 然后单击Startup.
3 (可选)选择希望的Startup Type.
4 在Log On As 下,选择正确的账号:
System Account. 如果您有邮件主机使用Windows NT 用户数据库作为主机用户数据库,
请采用该账号。
Allow Service to Interact with Desktop.选在该方式在服务启动以后将会在桌面上创
建一个Imail 的图标。任何帐号都可以看到该图标。
This Account. Select如果你没有邮件主机采用Windows NT 用户数据库作为主机数据
库,你可以指定一个用户账号登入。请确认,该账号是某一邮件主机的管理员。
注意
如果你有某个邮件主机的用户数据库是基于外部数据库的,请确认该用户账号有权限访问
外部数据库。
配置LDAP 服务器
1 在IMail Administrator 中, 在左边的面板中选择“localhost”.
2 选择目录“Services”, 然后单击按钮LDAP. LDAP 标签出现.
3 输入在后面描述的选项配置LDAP 服务器.
4 单击按钮Apply 保存你得设置.
5 更改设置以后,停止服务,等待5-10 秒然后重新启动服务以确保设置生效.设置将会
被自动的保留.
日志选项
在框Log To 中,选择你希望使用得日志记录方式。
• sysMMDD.TXT .改选项会把事件信息记录到一个纯文本文件中。mm 代表月份, dd 代表日
期。改文件存在于目录Spool .
• No Log. 该选项关闭日志功能。
• App Log . 该选项利用Windows NT 应用程序日志记录事件日志。
• Log Server . 该选项利用日志服务器文件记录日志。文件由标签Log Files 中指定,存
在于目录Spool 中。
Allow queries only. 当选中该选项时,LDAP 客户端向LDAP 服务器查询LDAP 信息,
得到查询结果。但是不能输入或者修改LDAP 信息。
Allow “Search All” requests. 你可以关闭该选项以强迫LDAP 客户端在进行查询时
提供查询的条件。
Maximum number of matches returned per request. 设置该数值为一个较低的数字,以
限制因为LDAP 请求产生的服务数目。
Referrals. 设置对其他的LDAP 数据库的引用. 该功能可以在LDAP 客户端无法在本地
的LDAP 服务器上找到需要的信息时,可以在其它的哪些LDAP 服务器寻找:
Mode. 决定了对于LDAP 客户端的查询的反馈。
• Send data only 只反馈Imail LDAP 服务器上的数据,不返回引用。
• Send referral only 只反馈其他的LDAP 服务器的主机名的引用。
• Send both 反馈Imail LDAP 服务器上的数据,同时也反馈其他的LDAP 服务器的主机
名的引用。
Hosts. 输入其他的远端的LDAP 服务器的主机名。你可以输入多个主机名,之间用逗号
隔开。
Server Status. 在按钮Start/Stop 左边出现的显示当前服务器状态的信息。包括版本
信息,服务是否正在运行。
Start/Stop Service. 该按钮用来启动/停止服务
如何从 LADP 搜索单个用户:
【中文标题】如何从 LADP 搜索单个用户:【英文标题】:How to search Single user From LADP: 【发布时间】:2015-01-16 17:26:12 【问题描述】:我有一种方法可以将特定用户搜索到 ADAM。
'set up the LDAP entry object
objEntry = New DirectoryEntry("LDAP://" & m_strLDAPServer & ":" & m_strLDAPPort & "/" & m_strLDAPEntry)
is the default but it must be set explicitly so that the props array can be passed in
objSearcher = New DirectorySearcher(objChild, "(objectClass=*)", strProps)
objSearcher.SearchScope = SearchScope.Base
objSearcher = New DirectorySearcher(objChild, "(objectClass=*)", strProps)
objSearcher.SearchScope = SearchScope.Base
'carry out the search
Try
objResult = objSearcher.FindOne()
Catch
objResult = Nothing
End Try
我想从 ADAM 获得结果 SQL: Like '%strUserName%',但我发现只有方法 FindOne() 只搜索完整字符串“strUserName”,但它不执行 SQL Like 操作。 任何想法我怎样才能像 SQL LIKE 一样搜索?
【问题讨论】:
【参考方案1】:效果很好:
eobjEntry = New DirectoryEntry("LDAP://" & m_strLDAPServer & ":" & m_strLDAPPort & "/" & "cn=" & txtUserName & "," & m_strLDAPEntry)
'set the user name and password, if necessary
Dim search As New DirectorySearcher()
'here search & txtUserName & works SQL Like 操作 objSearcher = 新 DirectorySearcher(objEntry, "(cn=" & txtUserName & ")") objSearcher.SearchScope = SearchScope.Base 和 SearchScope.OneLevel 暗淡结果 As SearchResult = search.FindOne()
【讨论】:
以上是关于LADP如何查uid的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在 Android Java 的 RecyclerView 中检索 uid 用户名和 uid 用户子值?
Django通过django_auth_ladp接入AD认证登录
LADP--对某些AD属性值是字节数组byte[]情况的类型转换方法