测试环境:VS2008, NET Framework 3.5

公司打算改用LDAP来存储用户名和密码,现在用C#测试下如何能拿到LDAP中的用户名,并检测用户密码是否正确。即输入用户名和密码,可以检验是否是有效的。

首先我们假设LDAP的server IP是127.0.0.1

基本的DN是ou=user,dc=companyname,dc=com

用来登录的管理员name是cn=sysuser,ou=systemaccounts,dc=companyname,dc=com

对应密码是sysuser

上面这些server name,user name和密码都是测试数据,大概如此,真正用时要换成自己公司的有效server,用户才行哦。

一、连接LDAP sever

现在我们来测试下是否能正确连接到LDAP server,代码如下:

 

 1 DirectoryEntry entry = new DirectoryEntry("LDAP://127.0.0.1/ou=user,dc=companyname,dc=com","cn=sysuser,ou=systemaccounts,dc=companyname,dc=com", "sysuser", AuthenticationTypes.None);
 2  
 3 try
 4 {
 5   object native = entry.NativeObject;
 6   return true;
 7 }
 8 catch (System.Exception ex)
 9 {
10   throw new Exception("Error authenticating user." + ex.Message);
11 }
12 return false;
View Code

相关文章: