For information on converting to InterSystems IRIS, see the
InterSystems IRIS Adoption Guide
and the InterSystems IRIS In-Place Conversion Guide,
both available on the WRC Distributions page (login required).
This class defines the security LDAPConfigs for a system.
LDAP names have the following properties:
1) LDAP names are case insensitive.
2) Maximum length of a LDAP name is 64 characters.
The %Admin Secure:USE permission is required to operate on a LDAP configuration
The table for this class should be manipulated only through object access, the published API's
or through the System Management Portal. It should not be updated through direct SQL access.
property LDAPAttributes as list of %String (MAXLEN = 128);
List of additional LDAP attributes to return from LDAP Server.
This property contains a list of additional LDAP User attributes for which
you want values returned when a user authenticates himself via LDAP. For example,
you may want to return a user's mail address from the LDAP server. You would
set one of the list values to "mail" which is an LDAP attribute for a user. The
values for the set of attributes are written to the user's authentication record,
and may be retrieved by using the Security.Users class, Attributes property.
Flags for the LDAP connection.
Bit 0 - Active directory LDAP server
Bit 1 - Use SSL/TLS connection
Bit 2 - Unused
Bit 3 - Use Groups
Bit 4 - Use Nested Groups
Bit 5 - Use Universal Groups
Bit 6 - LDAP configuration enabled
Bit 7 - Kerberos Only
property LDAPHostNames as %String (MAXLEN = 256) [ Required ];
Host name of the LDAP server.
May be one or more, separated by a space. An optional port may be appended to the
host name separated by a ":" (name:port) if the LDAP server is using non standard ports.
This callback method is invoked by the %New() method to
provide notification that a new instance of an object is being created.
If this method returns an error then the object will not be created.
It is passed the arguments provided in the %New call.
When customizing this method, override the arguments with whatever variables and types you expect to receive from %New().
For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:
Method %OnNew(dob as %Date = "", name as %Name = "") as %Status
If instead of returning a %Status code this returns an oref and this oref is a subclass of the current
class then this oref will be the one returned to the caller of %New method.
Copy a LDAP configuration.
Copy an existing LDAP configuration in the Security database to a new one.
Parameters:
Name - Name of the LDAP configuration to be copied.
NewName - Name of the New LDAP configuration to be created.
Create a LDAP configuration.
Create a LDAP configuration in the Security database.
Parameters:
Name - Name of the LDAP configuration to create
Description - Description
Delete a LDAP configuration.
This method will delete a LDAP configuration from the security database.
After the LDAP Configuration is delete, any user in the User database associated with
this configuration will also be deleted.
Parameters:
Name - Name of LDAP configuration to delete
LDAP configuration exists.
This method checks for the existence of a LDAP config in the security database.
Parameters:
Name - Name of the LDAP config to check existence of
Return values:
If Value of the method = 0 (LDAP does not exist, or some error occured)
LDAP = Null
Status = LDAP "x" does not exist, or other error message
If Value of the method = 1 (LDAP exists)
LDAP = Object handle to LDAP config
Status = $$$OK
classmethod Export(FileName As %String = "LDAPConfigsExport.xml", ByRef NumExported As %Integer, LDAPConfigs As %String = "*") as %Status
This method exports LDAP configuration records to a file in xml format.
Parameters:
Filename - Output file name
NumExported (byref) - Returns number of records exported.
LDAPConfigs - Comma separated list of LDAPConfigs to export, "*" = All
Format the domain name.
Parameters:
Name - Name of the domain to format and validate
NewName - byref formatted name of the name as follows:
Remove "@\,"
Lowercase it
Add ".com" or "com" if no suffix
Make sure no null pieces
Get a LDAP configurations properties.
Gets a LDAP config's properties from the security database.
Parameters:
Name - Name of the LDAP config to get
Return values:
Properties - Array of properties
Properties("Description") - Description of the LDAP config
Get a LDAP configurations properties.
Gets a LDAP configurtions properties from the security database.
Parameters:
LDAP - Object handle to a LDAP record
Return values:
Properties - See the Get method for more information on properties returned
classmethod Import(FileName As %String = "LDAPConfigsExport.xml", ByRef NumImported As %Integer, Flags As %Integer = 0) as %Status
Import LDAP configuration records from an xml file.
Parameters:
FileName - Filename to import LDAP configuration records from
NumImported (byref) - Returns number of records imported
Flags - Control import
Bit 0 - Do not import records, just return count
Note: On failure, no records will be imported
Modify a LDAP configuration.
Modify an existing LDAP configurations properties in the security database.
Parameters:
Name - Name of the LDAP configuration to modify
Properties - Array of properties to modify.
See the Get() method for a description of the Properties parameter.
If a specific property is not passed in the properties array,
the value is not modified.
Detail of LDAP Configurations.
Names - Comma separated list of LDAP names, "*" = All
Flags - 0 - Use "Startswith" as the selection on the name.
Flags - 1 - Use "Contains" as the selection on the name.
Note: This query may change in future versions
List of LDAP Configurations.
Names - Comma separated list of LDAP names, "*" = All
Flags - 0 - Use "Startswith" as the selection on the name.
Flags - 1 - Use "Contains" as the selection on the name.
Note: This query may change in future versions
Indexes
index (NameIndex on NameLowerCase) [IdKey, Type = key];
Index methods: NameIndexCheck(), NameIndexDelete(), NameIndexExists(), NameIndexOpen(), NameIndexSQLCheckUnique(), NameIndexSQLExists(), NameIndexSQLFindPKeyByConstraint(), NameIndexSQLFindRowIDByConstraint()