[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: URL em php para troca de senha de usuarios no AD



Boa tarde, Marcio.

Segue abaixo algumas modificações que você deverá fazer no conf do SSP:

# LDAP                                                                                                                                    
$ldap_url = "ldaps://dominio.local";                                                                                                             
$ldap_binddn = "admin@dominio.local";
$ldap_bindpw = "senhadoadmin";
$ldap_base = "DC=dominio,DC=local";
$ldap_login_attribute = "sAMAccountName";
$ldap_fullname_attribute = "cn";
$ldap_filter = "(&(objectClass=user)(sAMAccountName={login})(!(userAccountControl:1.2.840.113556.1.4.803:=2)))";

# Active Directory mode
# true: use unicodePwd as password field
# false: LDAPv3 standard behavior
$ad_mode = true;
# Force account unlock when password is changed
$ad_options['force_unlock'] = false;
# Force user change password at next login
$ad_options['force_pwd_change'] = false;

# Samba mode
# true: update sambaNTpassword and sambaPwdLastSet attributes too
# false: just update the password
$samba_mode = "false";

# clear (the default)
# This option is not used with ad_mode = true
$hash = "";

# Show policy constraints message:
# always
# never
# onerror
$pwd_show_policy = "onerror";

# Who changes the password?
# Also applicable for question/answer save
# user: the user itself
# manager: the above binddn
$who_change_password = "manager";

# Language
$lang ="pt-BR";



Realcei as principais mudanças que devem ser feitas, mas atente-se a outros detalhes.

Veja também se você exportou o arquivo do certificado do AD no formato codificado na base 64.

No servidor Debian deve ter instalado o suporte LDAP para o PHP. Execute também o comando:

# c_rehash

Outro detalhe importante é reiniciar o servidor windows após a criação do certificado.

Lembre-se também de responder esse e-mail clicando em "Responder todos" pois essas informações podem ser importantes para outros usuários.




Att,


Em 9 de junho de 2014 09:44, Marcio Rufino <marciorufino01@gmail.com> escreveu:
Geowany,

segue anexo um print do meu AD.


Em 9 de junho de 2014 11:41, Marcio Rufino <marciorufino01@gmail.com> escreveu:

Bom dia Geowany,

já tentei de todo jeito configurar mas não consigo acessar o active directory, conforme erro abaixo:

[Mon Jun 09 10:53:14 2014] [error] [client 172.16.0.5] LDAP - Bind error -1  (Can't contact LDAP server), referer: http://172.16.1.220/ltb-project-self-service-password-0.8/

Vou postar minhas confs:

AD: 172.16.1.198
Debian: 172.16.1.220 (com apache e php5 rodando)

config.inc.php
# LDAP
$ldap_url = "ldaps://172.16.1.198";
$ldap_binddn = "cn=admin,dc=teste,dc=local";
$ldap_bindpw = "p@ssw0rd";
$ldap_base = "dc=teste,dc=local";
$ldap_login_attribute = "uid";
$ldap_fullname_attribute = "cn";
$ldap_filter = "(&(objectClass=user)(sAMAccountName={login})(!(userAccountControl:1.2.840.113556.1.4.803:=2)))";

# Active Directory mode
$ad_mode = true;
# Force account unlock when password is changed
$ad_options['force_unlock'] = false;
# Force user change password at next login
$ad_options['force_pwd_change'] = false;

# Hash mechanism for password:
$hash = "SSHA";

:. o resto esta default

/etc/ldap/ldap.conf
BASE    dc=teste,dc=local
URI     ldaps://172.16.1.198
TLS_CERT        /etc/ssl/certs/certificado.pem

Esse /etc/ssl/certs/certificado.pem foi gerado no AD como certificado.cer.
No Linux gerei ele como certificado.pem

Sabe o que pode estar faltando?

Obrigado.


Em 9 de junho de 2014 00:18, Geowany Alves <geowany.acre@gmail.com> escreveu:



Em 8 de junho de 2014 17:31, Marcio Rufino <marciorufino01@gmail.com> escreveu:

Boa noite pessoal,

preciso implementar uma url que permita a troca de senhas de usuarios no active directory 2008.
Vi algumas coisas em PHP no google.
Alguem tem isso funcionando para trocarmos um ideia?

Obrigado.


Boa noite, Marcio!

Acredito que uma solução seria usar o LDAP Tool Box - Self Service Password que também é feito em PHP. Recentemente escrevi uma dica no site Viva o Linux sobre a instalação do SSP para OpenLDAP. Se você olhar o arquivo de configuração, verá que também existe opção para uso no AD mas nesse caso terá que gerar um certificado do servidor AD e instalá-lo no servidor web. Existem algumas formas de redefinição de senha como através de email, pergunta/resposta secreta e até envio de SMS (não testei).


Att,


Geowany Galdino Alves
Assistente em Tecnologia da Informação - NTI/UFAC
Acadêmico em Licenciatura Plena - HISTÓRIA/UFAC





--
Geowany Galdino Alves
Assistente em Tecnologia da Informação - NTI/UFAC
Acadêmico em Licenciatura Plena - HISTÓRIA/UFAC

Reply to: