Microsoft Identity Integration Server 2003 Developer Reference |
The distinguished name for Lotus Notes connected data sources must be in a specified format. If the distinguished name is in another format, the management agent will still return the distinguished name in the correct format. However, there is a loss in performance when relying upon the management agent to create the distinguished name because the management agent must create the new distinguished name before synchronizing the it with the metaverse.
To improve the performance of provisioning for Lotus Notes connected data sources, create the distinguished name in the following format: CN=firstname middleinitial lastname/o=certifier,NAB=Notes Address Book
Note The first name, middle initial, and last names of the user are separated by a space.
Name | Description |
---|---|
firstname | The first name of the user. |
middleinitial | The middle initial of the user. |
lastname | The last name of the user. |
certifier | The organizational unit (OU) name of the certifier. |
Notes Address Book | The file name of the Notes Address Book. If you are referencing a file that is located in a folder for the value, use a forward slash (/) to separate the folder from the file name. For example, folder/file name.CSEntry.DN |
The following example is the distinguished name of Jeff Smith in the main organizational unit with a Notes Address Book file, Names.nsf.
CN=Jeff Smith/o=main,NAB=names.nsf
The following Visual Basic .NET example shows how to create a distinguished name for a user by using the identification file that is stored in the MADATA folder.
Public Sub Provision(ByVal mventry As MVEntry) _ Implements IMVSynchronization.Provision Dim ManagementAgent As ConnectedMA Dim Connectors As Integer Dim csentry As CSEntry Dim DNName As String Dim DNCertifier As String = "O=Main" If mventry("EmployeeStatus").IsPresent _ AndAlso mventry("EmployeeStatus").Value.Equals("active") Then ManagementAgent = mventry.ConnectedMAs("Lotus Notes MA") Connectors = ManagementAgent.Connectors.Count If 0 = Connectors Then csentry = ManagementAgent.Connectors.StartNewConnector("person") DNName = mventry("sn").Value If mventry("middleName").IsPresent Then DNName = mventry("middleName").Value + " " + DNName End If If mventry("givenName").IsPresent Then DNName = mventry("givenName").Value + " " + DNName End If DNName = DNName + "/" + DNCertifier ' Set the property values to provision the object. csentry.DN = ManagementAgent.EscapeDNComponent("CN=" _ + DNName).Concat("NAB=names.nsf") csentry("LastName").Value = mventry("sn").Value csentry("_MMS_Certifier").Value = DNCertifier csentry("_MMS_IDRegType").IntegerValue = 1 ' US User csentry("_MMS_IDStoreType").IntegerValue = 2 ' ID File as a file ' The next two properties must have a value for a user with an ' identification file. csentry("_MMS_IDPath").Value = mventry("cn").Value csentry("_MMS_Password").Value = "FilePassword" ' The next two properties must have a value for a user to access ' e-mail through the Lotus Notes client or Web browser. csentry("MailServer").Value = "CN=DominoServer/O=DominoDomain" csentry("MailFile").Value = "mail\" & mventry("uid").Value ' Finish creating the new connector. csentry.CommitNewConnector() End If End If End Sub
void IMVSynchronization.Provision (MVEntry mventry) { ConnectedMA ManagementAgent; int Connectors; CSEntry csentry; string DNName; string DNCertifier = "O=Main"; if(mventry["EmployeeStatus"].IsPresent) { if(mventry["EmployeeStatus"].Value.Equals("active")) { ManagementAgent = mventry.ConnectedMAs["Lotus Notes MA"]; Connectors = ManagementAgent.Connectors.Count; // Create the new connector. if(0 == Connectors) { csentry = ManagementAgent.Connectors.StartNewConnector("person"); DNName = mventry["sn"].Value; if(mventry["middleName"].IsPresent) { DNName = mventry["middleName"].Value + " " + DNName; } if(mventry["givenName"].IsPresent) { DNName = mventry["givenName"].Value + " " + DNName; } DNName = DNName + "/" + DNCertifier; // Set the property values to provision the object. csentry.DN = ManagementAgent.EscapeDNComponent("CN=" + DNName).Concat("NAB=names.nsf"); csentry["LastName"].Value = mventry["sn"].Value; csentry["_MMS_Certifier"].Value = DNCertifier; csentry["_MMS_IDRegType"].IntegerValue = 1; // US User csentry["_MMS_IDStoreType"].IntegerValue = 2; // ID File as a File // The next two properties must have a value for a user with an // identification file. csentry["_MMS_IDPath"].Value = mventry["cn"].Value; csentry["_MMS_Password"].Value = "FilePassword"; // The next two properties must have a value for a user to access // mail through the Lotus Notes client or Web browser. csentry["MailServer"].Value = "CN=DominoServer/O=DominoDomain"; csentry["MailFile"].Value = @"mail\" + mventry["uid"].Value; // Finish creating the new connector. csentry.CommitNewConnector(); } } } }