First, Domino's LDAP service is configured to not be anonymous, otherwise it doesn't make sense.
Security, Internet Authentication is set to: More name transformations, lower security.
In this case, the username can be used in Domino's personal documents: Name + space + surname, abbreviation, email address
You can not set this if you do not need it.
Password is: internet password
By default, Domino's LDAP attribute has no UID (abbreviated) and needs to be added by itself.
Principle: Use the input username password to execute an LDAP query, if no exception is thrown, the user name password is correct.
1using System.DirectoryServices;
2using System.Configuration;
3using System.Text;
4
5 public class Ldaphelper
6 {
7
8 private string dominoserver;
9/**////<summary>
///Domino server address
///</summary>
public string Dominoserver
13 {
get {return dominoserver;}
set {dominoserver = value;}
16}
private String Ldapserver;
/**////<summary>
///LDAP server address
///</summary>
public string Ldapserver
22 {
{return ldapserver;}
set {ldapserver = value;}
25}
26
private String UserName;
/**////<summary>
29///User name
///</summary>
public string UserName
32 {
to {return userName;}
set {userName = value;}
35}
36
Notoginseng private string password;
/**////<summary>
39///Password
///</summary>
-public string Password
42 {
/get {return password;}
set {password = value;}
45}
/**////<summary>
47///Instantiation
///</summary>
///<param name= "UserName" > Username </param>
///<param name= "password" > password </param>
Wuyi Public Ldaphelper (String userName, string password)
52 {
Try
54 {
//this. Ldapserver = configurationmanager.appsettings["Ldapserver"]. ToString ();
56
//this. Dominoserver = configurationmanager.appsettings["Dominoserver"]. ToString ();
58
this. Ldapserver = "192.176.0.46";
60
this. Dominoserver= "192.176.0.46"
62
. UserName = UserName;
. Password = Password;
65}
The Catch
67 {
throw;
69}
70}
71
/**////<summary>
73///Verify that the user name password is correct through the Domino LDAP Service
///</summary>
///<param name= "userName" > User name </param>
///<param name= "password" > password </param>
///<returns></returns>
public bool Verifyuser ()
79 {
Try
81 {
DirectorySearcher searcher = Preparesearcher ();
83
84///Execute the following method without throwing an exception stating that the username password is correct
SearchResult rs = searcher. FindOne ();
86
return true;
88}
Catch
90 {
return false;
92}
93}
94
/**////<summary>
///Prepare DirectorySearcher
///</summary>
///<returns>DirectorySearcher</returns>
private DirectorySearcher preparesearcher ()
100 {
101
102 DirectoryEntry root = new DirectoryEntry (this. Ldapserver, this. UserName, this. Password, Authenticationtypes.none);
DirectorySearcher searcher = new DirectorySearcher (root);
104
//ldap Search filter conditions, CN for the user name, UID for the user abbreviation
106
Searcher. Filter = "(& (Objectclass=dominoperson) ( Cn= "+ this. UserName +
108
109 ") (uid=" + this. UserName + ") (mail=" + this. UserName + "))";
110
111
112//searcher. Filter = "(& (Objectclass=dominoperson) (cn=) + this. UserName + ")";
113 return searcher;
114
115}
116}