本文整理汇总了PHP中Zend_Ldap_Attribute::setAttribute方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Ldap_Attribute::setAttribute方法的具体用法?PHP Zend_Ldap_Attribute::setAttribute怎么用?PHP Zend_Ldap_Attribute::setAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Ldap_Attribute
的用法示例。
在下文中一共展示了Zend_Ldap_Attribute::setAttribute方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testChangePasswordWithUserAccountActiveDirectory
public function testChangePasswordWithUserAccountActiveDirectory()
{
if ($this->_getLdap()->getRootDse()->getServerType() !== Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY) {
$this->markTestSkipped('Test can only be run on an ActiveDirectory server');
}
$options = $this->_getLdap()->getOptions();
if ($options['useSsl'] !== true && $options['useStartTls'] !== true) {
$this->markTestSkipped('Test can only be run on an SSL or TLS secured connection');
}
$dn = $this->_createDn('cn=New User,');
$data = array();
$password = 'pa$$w0rd';
Zend_Ldap_Attribute::setAttribute($data, 'cn', 'New User', false);
Zend_Ldap_Attribute::setAttribute($data, 'displayName', 'New User', false);
Zend_Ldap_Attribute::setAttribute($data, 'sAMAccountName', 'newuser', false);
Zend_Ldap_Attribute::setAttribute($data, 'userAccountControl', 512, false);
Zend_Ldap_Attribute::setAttribute($data, 'objectClass', 'person', true);
Zend_Ldap_Attribute::setAttribute($data, 'objectClass', 'organizationalPerson', true);
Zend_Ldap_Attribute::setAttribute($data, 'objectClass', 'user', true);
Zend_Ldap_Attribute::setPassword($data, $password, Zend_Ldap_Attribute::PASSWORD_UNICODEPWD, 'unicodePwd');
try {
$this->_getLdap()->add($dn, $data);
$this->_getLdap()->bind($dn, $password);
$newPasswd = 'newpasswd';
$newData = array();
Zend_Ldap_Attribute::setPassword($newData, $newPasswd, Zend_Ldap_Attribute::PASSWORD_UNICODEPWD);
$this->_getLdap()->update($dn, $newData);
try {
$this->_getLdap()->bind($dn, $password);
$this->fail('Expected exception not thrown');
} catch (Zend_Ldap_Exception $zle) {
$message = $zle->getMessage();
$this->assertTrue(strstr($message, 'Invalid credentials') || strstr($message, 'Server is unwilling to perform'));
}
$this->assertType('Zend_Ldap', $this->_getLdap()->bind($dn, $newPasswd));
$this->_getLdap()->bind();
$this->_getLdap()->delete($dn);
} catch (Zend_Ldap_Exception $e) {
$this->_getLdap()->bind();
if ($this->_getLdap()->exists($dn)) {
$this->_getLdap()->delete($dn);
}
$this->fail($e->getMessage());
}
}
示例2: _setAttribute
/**
* Checks if the attribute can be set and sets it accordingly.
*
* @param string $name
* @param mixed $value
* @param boolean $append
* @throws Zend_Ldap_Exception
*/
protected function _setAttribute($name, $value, $append)
{
$this->_assertChangeableAttribute($name);
Zend_Ldap_Attribute::setAttribute($this->_currentData, $name, $value, $append);
}
示例3: updateByLogin
public function updateByLogin($login, $options)
{
$filter = Zend_Ldap_Filter::equals('samaccountname', $login);
$ldap = $this->getLdap();
$users = $ldap->search($filter);
if ($users->count() > 0) {
$user = $users->getFirst();
$dn = $user['dn'];
$entry = array();
foreach ($options as $attrib => $value) {
Zend_Ldap_Attribute::setAttribute($entry, $attrib, $value);
}
$res = $ldap->update($dn, $entry);
return $res;
}
return false;
}
示例4: testSetAttributeWithFilestream
public function testSetAttributeWithFilestream()
{
$data = array();
$stream = fopen(dirname(__FILE__) . '/_files/AttributeTest.input.txt', 'r');
Zend_Ldap_Attribute::setAttribute($data, 'file', $stream);
fclose($stream);
$this->assertEquals('String from file', $data['file'][0]);
}
示例5: _setLDAPAttribute
/**
* Sets the value for the given LDAP attribute.
*
* @param array $entry LDAP entry
* @param string $attribName Attribute name.
* @param mixed $value Value.
*/
protected function _setLDAPAttribute(&$entry, $attribName, $value)
{
$attribName = strtolower($attribName);
Zend_Ldap_Attribute::setAttribute($entry, $attribName, $value);
}