v5:database:ldap
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
database:ldap [2015/11/28 00:00] – mnewnham | v5:database:ldap [2023/11/18 23:45] (current) – mnewnham | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== LDAP ====== | ====== LDAP ====== | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
+ | <WRAP important> | ||
+ | Use of ADODB_FETCH_NUM is strongly discouraged because AD records returned in queries may not all contain the same number of fields | ||
+ | </ | ||
+ | |||
<WRAP right box round 300px> | <WRAP right box round 300px> | ||
== Specification == | == Specification == | ||
^Driver Name|ldap| | ^Driver Name|ldap| | ||
^Data Provider|ldap| | ^Data Provider|ldap| | ||
- | ^Status|Inactive((This driver is not actively supported or enhanced by ADOdb project members, but you can provide fixes and enhancements if you have the expertise))| | + | ^Status|Active((This driver is actively supported or enhanced by ADOdb project members))| |
^Windows|Yes| | ^Windows|Yes| | ||
^Unix|Perhaps((We have never tried it except against Microsoft LDAP servers from Windows))| | ^Unix|Perhaps((We have never tried it except against Microsoft LDAP servers from Windows))| | ||
Line 13: | Line 17: | ||
</ | </ | ||
===== Description ===== | ===== Description ===== | ||
- | The '' | + | From ADOdb Versions 5.22.8 and 5.23.0, |
- | ===== Available Methods ===== | + | |
- | The following methods are available for use with the LDAP driver: | + | |
- | * [[reference: | ||
- | * [[reference: | ||
- | * [[dictionary: | ||
- | * [[reference: | ||
- | | ||
- | Calls to other methods when used with this driver may produce unexpected results or program failure. | ||
===== Usage ===== | ===== Usage ===== | ||
+ | |||
+ | You must use standard [[https:// | ||
+ | ------------------------------------------------------------ | ||
<code php> | <code php> | ||
- | $db = newAdoConnection('ldap'); | + | DEFINE('ADODB_ASSOC_CASE', |
+ | $db = ADOnewConnection(' | ||
+ | |||
+ | $db-> | ||
+ | |||
+ | $baseDN | ||
+ | $adServer = ' | ||
+ | $user = ' | ||
+ | $password = ' | ||
+ | |||
+ | $db-> | ||
+ | |||
+ | /* | ||
+ | * Find the first 2 records where the given name is adodb | ||
+ | */ | ||
+ | $result = $db-> | ||
+ | |||
+ | while ($r = $result-> | ||
+ | { | ||
+ | print_r($r); | ||
+ | | ||
+ | } | ||
</ | </ | ||
- | ===== Custom Functionality | + | Returns the following data. Note that some elements may contain **array** or **binary** data. In this example, the 1st record contains 29 columns, and the second 30. |
- | If defined prior to connection, the following variables will be passed as input bind variables. | + | |
- | Valid Domain Values for LDAP Options: | + | < |
- | | + | Array |
- | LDAP_OPT_SIZELIMIT | + | ( |
- | LDAP_OPT_TIMELIMIT | + | [CN] => ADODb Tester |
- | LDAP_OPT_PROTOCOL_VERSION | + | [SN] => Tester |
- | LDAP_OPT_ERROR_NUMBER | + | [GIVENNAME] |
- | LDAP_OPT_REFERRALS | + | [DISTINGUISHEDNAME] |
- | LDAP_OPT_RESTART | + | [INSTANCETYPE] |
- | LDAP_OPT_HOST_NAME | + | [WHENCREATED] |
- | LDAP_OPT_ERROR_STRING | + | |
- | LDAP_OPT_MATCHED_DN | + | [DISPLAYNAME] => ADODb Tester |
- | LDAP_OPT_SERVER_CONTROLS | + | [USNCREATED] => 12794 |
- | LDAP_OPT_CLIENT_CONTROLS | + | [USNCHANGED] => 12801 |
+ | [NAME] => ADODb Tester | ||
+ | [OBJECTGUID] => | ||
+ | [USERACCOUNTCONTROL] => 66048 | ||
+ | [BADPWDCOUNT] => 0 | ||
+ | [CODEPAGE] => 0 | ||
+ | [COUNTRYCODE] => 0 | ||
+ | [BADPASSWORDTIME] => 0 | ||
+ | [LASTLOGOFF] => 0 | ||
+ | [LASTLOGON] => 0 | ||
+ | [PWDLASTSET] => 133446503074682533 | ||
+ | [PRIMARYGROUPID] => 513 | ||
+ | [OBJECTSID] => | ||
+ | [ACCOUNTEXPIRES] => 9223372036854775807 | ||
+ | [LOGONCOUNT] => 0 | ||
+ | [SAMACCOUNTNAME] => adodb | ||
+ | [SAMACCOUNTTYPE] => 805306368 | ||
+ | [USERPRINCIPALNAME] => adodb@test.loc | ||
+ | [OBJECTCATEGORY] => CN=Person,CN=Schema, | ||
+ | [DSCOREPROPAGATIONDATA] => Array | ||
+ | ( | ||
+ | [0] => 20231116231827.0Z | ||
+ | [1] => 16010101000000.0Z | ||
+ | ) | ||
+ | |||
+ | [OBJECTCLASS] => Array | ||
+ | ( | ||
+ | [0] => top | ||
+ | [1] => person | ||
+ | [2] => organizationalPerson | ||
+ | [3] => user | ||
+ | ) | ||
+ | |||
+ | ) | ||
+ | Array | ||
+ | ( | ||
+ | [CN] => ADOdb N. Tester | ||
+ | [SN] => Tester | ||
+ | [GIVENNAME] => ADOdb | ||
+ | [INITIALS] => N | ||
+ | [DISTINGUISHEDNAME] => CN=ADOdb N. Tester, | ||
+ | [INSTANCETYPE] => 4 | ||
+ | [WHENCREATED] => 20231118172808.0Z | ||
+ | [WHENCHANGED] => 20231118172809.0Z | ||
+ | [DISPLAYNAME] => ADOdb N. Tester | ||
+ | [USNCREATED] => 16413 | ||
+ | [USNCHANGED] => 16420 | ||
+ | [NAME] => ADOdb N. Tester | ||
+ | [OBJECTGUID] => | ||
+ | [USERACCOUNTCONTROL] => 66048 | ||
+ | [BADPWDCOUNT] => 0 | ||
+ | [CODEPAGE] => 0 | ||
+ | [COUNTRYCODE] => 0 | ||
+ | [BADPASSWORDTIME] => 0 | ||
+ | [LASTLOGOFF] => 0 | ||
+ | [LASTLOGON] => 0 | ||
+ | [PWDLASTSET] => 133448020890659722 | ||
+ | [PRIMARYGROUPID] => 513 | ||
+ | [OBJECTSID] => | ||
+ | [ACCOUNTEXPIRES] => 9223372036854775807 | ||
+ | [LOGONCOUNT] => 0 | ||
+ | [SAMACCOUNTNAME] => adodb2 | ||
+ | [SAMACCOUNTTYPE] => 805306368 | ||
+ | [USERPRINCIPALNAME] => adodb2@test.loc | ||
+ | [OBJECTCATEGORY] => CN=Person, | ||
+ | [DSCOREPROPAGATIONDATA] => Array | ||
+ | ( | ||
+ | [0] => 20231118172809.0Z | ||
+ | [1] => 16010101000000.0Z | ||
+ | ) | ||
+ | |||
+ | [OBJECTCLASS] => Array | ||
+ | ( | ||
+ | [0] => top | ||
+ | [1] => person | ||
+ | [2] => organizationalPerson | ||
+ | [3] => user | ||
+ | ) | ||
+ | |||
+ | ) | ||
+ | </ | ||
+ | ==== URI Connections ==== | ||
+ | The **// | ||
+ | - Use an alternate connection port '' | ||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Connection Parameters ===== | ||
+ | |||
+ | The following values may be injected into the connection via the use of [[v5: | ||
+ | |||
+ | |||
+ | ^ OPTION_NAME ^ Type ^ | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | |||
+ | From ADOdb 5.22.8 and 5.23.0, default values set are as follows | ||
+ | |||
+ | ^Parameter^Value^ | ||
+ | |LDAP_OPT_PROTOCOL_VERSION|3| | ||
+ | |LDAP_OPT_REFERRALS|0| | ||
+ | |||
+ | These values can be changed with **// | ||
+ | |||
+ | The following usage method is deprecated in PHP8.2 and will not work with PHP 8.3. Use **// | ||
- | Make sure to set this BEFORE calling Connect() | ||
- | Example: | ||
<code php> | <code php> | ||
$LDAP_CONNECT_OPTIONS = Array( | $LDAP_CONNECT_OPTIONS = Array( | ||
Line 62: | Line 197: | ||
), | ), | ||
Array ( | Array ( | ||
- | " | + | " |
" | " | ||
), | ), | ||
Line 80: | Line 215: | ||
</ | </ | ||
- | {{tag>[dormant]}} | + | {{tag> |
v5/database/ldap.1448665247.txt.gz · Last modified: 2017/04/21 11:25 (external edit)