Arquivo Mensaloutubro 2011
PHP &Yii André Dourado on 18 out 2011
Yii – Autenticação via Active Directory (Windows com IIS 7)
Procurei durante algum tempo um algorítmo de validação via Active Directory para utilizar no Yii. O que apresentarei aqui funciona perfeitamente, utilizando apenas as bibliotecas do prórpio PHP.
Pesquisei em várias fontes para entender como poderia integrar esta funcionalidade. Encontrei alguns códigos, mas a minha dificuldade estava em como configurar o PHP para utilizar as funções LDAP.
Segui alguns conselhos que fui encontrando durante as pesquisas, tal como descomentar linha “extension=php_ldap.dll” no arquivo “php.ini”. Também vi várias referencias que os arquivos “libeay32.dll” e “ssleay32.dll” devem estar na pasta “windows\system32″.
Agora o mais importante que é o arquivo “aplicacao_yii\protected\components\UserIdentity.php”: class UserIdentity extends CUserIdentity $servidor_ad = 'XXX.XXX.XXX.XXX'; // Endereco IP do servidor AD $ldap = @ldap_connect($servidor_ad); // Tenta autenticar no servidor ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION,3); if (!($bind = @ldap_bind($ldap, "{$this->username}@{$dominio_ad}", $this->password))) { return !$this->errorCode;
{
public function authenticate()
{
// Tenta se conectar com o servidor
$dominio_ad = 'DDDDDDD'; // Nome do dominio
ldap_set_option($ldap, LDAP_OPT_REFERRALS,0);
$this->errorCode=self::ERROR_PASSWORD_INVALID;
} else {
$this->errorCode=self::ERROR_NONE;
}
}
}
Olá! Desde que coloquei o site