v5:database:ldap
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
v5:database:ldap [2023/06/04 11:41] – ↷ Links adapted because of a move operation dregad | 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: | + | |
- | * [[v5: | ||
- | * [[v5: | ||
- | * [[v5: | ||
- | * [[v5: | ||
- | | ||
- | 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(' | + | DEFINE(' |
+ | |||
+ | $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 Connection | + | < |
+ | Array | ||
+ | ( | ||
+ | [CN] => ADODb Tester | ||
+ | [SN] => Tester | ||
+ | [GIVENNAME] | ||
+ | [DISTINGUISHEDNAME] | ||
+ | [INSTANCETYPE] | ||
+ | [WHENCREATED] | ||
+ | | ||
+ | [DISPLAYNAME] => ADODb Tester | ||
+ | [USNCREATED] => 12794 | ||
+ | [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 '' | ||
+ | - Use ldap over SSL - '' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Connection | ||
+ | |||
+ | The following values may be injected into the connection via the use of [[v5:reference: | ||
^ OPTION_NAME ^ Type ^ | ^ OPTION_NAME ^ Type ^ | ||
Line 47: | Line 171: | ||
| '' | | '' | ||
- | Make sure to set this BEFORE calling Connect() | + | |
- | Example: | + | From ADOdb 5.22.8 and 5.23.0, default values |
+ | |||
+ | ^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 **// | ||
<code php> | <code php> | ||
$LDAP_CONNECT_OPTIONS = Array( | $LDAP_CONNECT_OPTIONS = Array( | ||
Line 64: | Line 197: | ||
), | ), | ||
Array ( | Array ( | ||
- | " | + | " |
" | " | ||
), | ), | ||
Line 82: | Line 215: | ||
</ | </ | ||
- | {{tag>[dormant | + | {{tag> |
v5/database/ldap.1685871669.txt.gz · Last modified: 2023/06/04 11:41 by dregad