Я разработал веб-приложение Zend Framework-1.11. Первоначально я создал учетные записи пользователей и связал их с таблицей пользователей в XAMPP (MySQL). Учетная запись пользователя может быть создана и сохранена в базе данных. Также каждый пользователь может войти в приложение.
C: \ xampp \ htdocs \ hrm_app \ index.php
$mysqlPDO = new PDO('mysql:host='.HRM_HOST.';dbname='.HRM_DBNAME.'',HRM_USERNAME, HRM_PASSWORD,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
C: \ xampp \ htdocs \ hrm_app \ public \ db_constants.php
<?php
defined('HRM_HOST') || define('HRM_HOST','localhost');
defined('HRM_USERNAME') || define('HRM_USERNAME','test');
defined('HRM_PASSWORD') || define('HRM_PASSWORD','pass');
defined('HRM_DBNAME') || define('HRM_DBNAME','hrm_app');
?>
Однако я хочу связать приложение с учетной записью Active Directory компании, чтобы пользователи могли использовать свою учетную запись AD для входа в систему вместо учетной записи из базы данных. Я установил все эти параметры, но не знаю, как достичь своей цели.
C: \ xampp \ htdocs \ hrm_app \ Zend \ Ldap.php
public function setOptions($options)
{
if ($options instanceof Zend_Config) {
$options = $options->toArray();
}
$permittedOptions = array(
'host' => 'ad.kkklimited.com',
'port' => 0,
'useSsl' => false,
'username' => 'testing',
'password' => '@Testing_12345#',
'bindRequiresDn' => false,
'baseDn' => 'CN=Users,DC=ad, DC=kkklimited, DC=com',
'accountCanonicalForm' => null,
'accountDomainName' => 'ad.kkklimited.com',
'accountDomainNameShort' => 'KKK',
'accountFilterFormat' => null,
'allowEmptyPassword' => false,
'useStartTls' => true,
'optReferrals' => false,
'tryUsernameSplit' => true,
);
foreach ($permittedOptions as $key => $val) {
if (array_key_exists($key, $options)) {
$val = $options[$key];
unset($options[$key]);
/* Enforce typing. This eliminates issues like Zend_Config_Ini
* returning '1' as a string (ZF-3163).
*/
switch ($key) {
case 'port':
case 'accountCanonicalForm':
$permittedOptions[$key] = (int)$val;
break;
case 'useSsl':
case 'bindRequiresDn':
case 'allowEmptyPassword':
case 'useStartTls':
case 'optReferrals':
case 'tryUsernameSplit':
$permittedOptions[$key] = ($val === true ||
$val === '1' || strcasecmp($val, 'true') == 0);
break;
default:
$permittedOptions[$key] = trim($val);
break;
}
}
}
if (count($options) > 0) {
$key = key($options);
/**
* @see Zend_Ldap_Exception
*/
require_once 'Zend/Ldap/Exception.php';
throw new Zend_Ldap_Exception(null, "Unknown Zend_Ldap option: $key");
}
$this->_options = $permittedOptions;
return $this;
}
Как мне достичьэто?