Foros del Web » Programando para Internet » ASPX (.net) »

Cambiar contraseña en LDAP C# y Asp .net

Estas en el tema de Cambiar contraseña en LDAP C# y Asp .net en el foro de ASPX (.net) en Foros del Web. Hola a todos, quisiera que me pudieran ayudar con mi problema. Quiero que desde la web cualquier usuario del dominio pueda cambiar su contraseña. Les ...
  #1 (permalink)  
Antiguo 14/06/2006, 08:33
 
Fecha de Ingreso: febrero-2006
Mensajes: 47
Antigüedad: 18 años, 2 meses
Puntos: 0
Cambiar contraseña en LDAP C# y Asp .net

Hola a todos, quisiera que me pudieran ayudar con mi problema.
Quiero que desde la web cualquier usuario del dominio pueda cambiar su contraseña. Les explico:
Tengo un dominio y usuario que tienen su maquina fuera de mi dominio y no se pueden unir al dominio pero sus usuarios son usuarios de mi dominio. La cuestión es que por política deben cambiar la contraseña en un plazo no mayor a 45 dias y al no loggearse en el dominio no se enteran cuando su contraseña está al caducar y lo que quiero es que entre a mi web y puedan desde ahí cambiarla. tengo adelantado algunas cosa pero el prinsipal problema es que para cambiar la contraseña hasta ahora con lo que he visto hay se necesita una cuenta de administrador de dominio y así no me sirve. les adjunto el código:

string adpath = "LDAP://" + ConfigurationSettings.AppSettings["MydcCom"];
string[] strADAdmin = ConfigurationSettings.AppSettings["ADAdminString"]
..Split(new char[]{','});

//strADAdmin[0]--administrator; strADAdmin[1]--password "Quisiera otra forma que no utilice las entrada de un administrador de dominio"
DirectoryEntry entry = new DirectoryEntry(adpath, strADAdmin[0], strADAdmin
[1]);
DirectoryEntry userEntry = new DirectoryEntry();
try
{
object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + loginName + ")";
search.SearchScope = SearchScope.Subtree;
search.CacheResults = false;

SearchResultCollection results = search.FindAll();
foreach( SearchResult result in results )
{
userEntry = result.GetDirectoryEntry();
break;
}

if( userEntry != null )
{
userEntry.Invoke("SetPassword", new object[]{newPwd});
userEntry.CommitChanges();
}

return true;
}


Gracias.
  #2 (permalink)  
Antiguo 14/06/2006, 14:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
la contraseña hasta ahora con lo que he visto hay se necesita una cuenta de administrador de dominio y así no me sirve.
para poder manipular el AD necesitas forzosamente una cuenta de admin, realmente debes tener cuidado para que lo necesitas y mas si tiene salida a internet.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 15/06/2006, 04:50
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 1 mes
Puntos: 1
Quizá con:
userEntry.Invoke("ChangePassword", oldPass, newPass);

Pero si RootK ha dicho que no se puede yo que tú no me hacía ilusiones de que funcionase.

Un saludo
  #4 (permalink)  
Antiguo 15/06/2006, 12:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 47
Antigüedad: 18 años, 2 meses
Puntos: 0
Gracias a Ambos.
SCho: userEntry.Invoke("ChangePassword", oldPass, newPass);
RootK tiene razón en lo que dice pues yo prové esta instruccion antes pero la entrada necesita de un Admin.

Solo que yo pensaba que a traves de la web podia hacer que mis usuarios del AD cambiaran su passw al igual que uno lo cambia en windows cuando aprieta Ctrl+Alt+Del y da click en el boton change password.

Bueno chao, si le encuentro solución les digo como.
  #5 (permalink)  
Antiguo 15/06/2006, 14:40
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Solo que yo pensaba que a traves de la web podia hacer que mis usuarios del AD cambiaran su passw al igual que uno lo cambia en windows cuando aprieta Ctrl+Alt+Del y da click en el boton change password.
de hecho eso no se podría hacer porque como te decía necesitas una cuenta para manipular el AD y además si eso llegará a existir sería super peligroso hacer la manipulación y hasta podrían modificar tus listas de distribucion, grupos, roles, perfiles, etc..etc... ahora en el caso de cuando presionas Ctrl+Alt+Del, estás hablando de ahi de una aplicación cliente y propia de windows donde está tomando como referencia el dominio en el que te encuentras y la cuenta del usuario firmado que actualmente es el autenticado es por ello que puedes hacer el cambio

See ya
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:01.