public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config) { string server = config["server"]; string port = config["port"]; string userContainer = config["userContainer"]; this.AdamHelper = new AdamHelper(server, Convert.ToInt32(port), userContainer, System.Net.CredentialCache.DefaultNetworkCredentials); base.Initialize(name, config); }
public System.DirectoryServices.Protocols.ResultCode AddUserToAdamGroup(Entities.User user, AdamConnetion.AdamServer adamServer, string group) { try { AdamHelper adamHelper = new AdamHelper(adamServer.ServerIP, adamServer.ServerPort, adamServer.UsersDistinguishedName, adamServer.GetCredential()); return adamHelper.AddUserToGroup(user.UserNameWithoutMembership, group); } catch (Exception ex) { throw ex; } }
protected void ibtnSubmit_Click(object sender, EventArgs e) { try { string sQuestion; if(!string.IsNullOrEmpty(ddlSecurityQuestion.SelectedValue)) { sQuestion = ddlSecurityQuestion.SelectedValue; } else { sQuestion = txtOtherSecurityQuestion.Text; } string sAnswer = txtAnswer.Text; if (sAnswer.Trim().Length == 0) { lblMessage.Text = "Debe ingresar una respuesta"; return; } // Comprobar la contraseña con el usuario logueado AdamHelper MemberProv = new AdamHelper(); string sUser; sUser = SPContext.Current.Web.CurrentUser.LoginName; string sPassword = txtPwd.Text.Trim(); if (MemberProv.ValidateUser(sUser.Substring(sUser.IndexOf(":") + 1), sPassword)) { // Update in Profile!! BLL.UserBLL MyUserBLL = new BLL.UserBLL(SPContext.Current.Web); Entities.User MyUser = MyUserBLL.GetUser(sUser); MyUser.SecurityQuestion = sQuestion; MyUser.SecurityAnswer = sAnswer; MyUserBLL.ModifyUser(MyUser); ibtnSubmit.Enabled = false; lblMessage.Text = "La pregunta de seguridad se ha actualizado correctamente"; } else { lblMessage.Text = "Uno o más datos requeridos no han sido diligenciados correctamente"; // "La contraseña no es correcta"; } } catch (Exception Ex) { CAFAM.WebPortal.ErrorLogger.ErrorLogger.Log(Ex, ref lblMessage, ConfigurationSettings.AppSettings["LogInEventViewer"]); } }
public AdamHelper() { System.Net.NetworkCredential crdAccess; //Utilizar éste cuando es corrido fuera de los servidores de Cafam (ambientes de desarrollo que esten conectados a la VPN de Cafam) Hacer Ping primero para comprobar disponibilidad crdAccess = new System.Net.NetworkCredential(ConfigurationSettings.AppSettings["ADAMUserCredential"], ConfigurationSettings.AppSettings["ADAMPasswordCredential"], ConfigurationSettings.AppSettings["ADAMDomainCredential"]); //DefaultNetworkCredentials corre utilizando la cuenta con la que se ejecuta. (Utilizar éste cuando es corrido dentro del mismo contexto de Sharepoint en los servers de Cafam) //crdAccess = System.Net.CredentialCache.DefaultNetworkCredentials; // Leer todo esto del WEB CONFIG string ldapServerIP = ConfigurationSettings.AppSettings["ADAMServerIP"]; int serverPort = int.Parse(ConfigurationSettings.AppSettings["ADAMServerPort"]); string usersDistinguishedName = ConfigurationSettings.AppSettings["ADAMUsersDistinguishedName"]; //Instanciar el Objeto AdamHelper AdamHelper adamHelper = new AdamHelper(ldapServerIP, serverPort, usersDistinguishedName, crdAccess); this._serverUrl = ldapServerIP + ":" + serverPort.ToString(); this._usersDistinguishedName = usersDistinguishedName; this._credential = crdAccess; }
protected void ibtnRestorePwd_Click(object sender, EventArgs e) { try { // Chequear si la respuesta es correcta if (UserEntity.SecurityAnswer.Trim().Equals(txtAnswer.Text.Trim())) { AdamHelper MemberProv = new AdamHelper(); sPassword = MakeNewPassword(); ResultCode Rcode = MemberProv.SetPassword(UserEntity.UserName.Substring(UserEntity.UserName.IndexOf(":") + 1), sPassword); // Respuesta correcta, enviar el correo al usuario y avisar EmailHelper MyEmailHlp = new EmailHelper(SPContext.Current.Web); string sBody = string.Format("Estimado {0} {1}, {2} y {3}:" + Environment.NewLine + "Este correo responde a su solicitud de restablecimiento de su contraseña. Para ingresar al sitio nuevamente deberá hacerlo con los siguientes datos. " + Environment.NewLine + "Nombre de usuario: {4}" + Environment.NewLine + "Contraseña: {5}" + Environment.NewLine + " Recomendamos que modifique su contraseña al ingresar al sitio." + Environment.NewLine + " El uso de este usuario y la contraseña es personal e intransferible, le recordamos que la información de nuestros afiliados es confidencial y goza del" + " privilegio del derecho a la intimidad consagrada en el Artículo 15 de la Constitución Política de Colombia de 1991; por lo tanto su uso es confidencial.", UserEntity.FirstName, UserEntity.FirstSurname, UserEntity.NIT, UserEntity.TradeName, UserEntity.UserName, sPassword); txtAnswer.Enabled = false; ibtnRestorePwd.Enabled = false; string sSMTPServer = ConfigurationSettings.AppSettings["SMTPServer"]; if (!string.IsNullOrEmpty(sSMTPServer)) { /*MyEmailHlp.SendEmail(sSMTPServer, MyEmailHlp.CreateEmail(UserEntity.PrivateEmail, "*****@*****.**", "Olvido de Contraseña", sBody));*/ MyEmailHlp.SendEmail(MyEmailHlp.CreateEmail(UserEntity.PrivateEmail, "*****@*****.**", "Olvido de Contraseña", sBody)); //lblMessage.Text = "Se le ha enviado un correo electrónico a su casilla privada con su nueva contraseña"; Response.Redirect(ConfigurationSettings.AppSettings["GoBackFromPasswdRestoreURL"]); } else { lblMessage.Text = sBody; } } else { lblMessage.Text = "La respuesta ingresada no es correcta"; ibtnGoHome.Visible = true; } } catch (Exception Ex) { CAFAM.WebPortal.ErrorLogger.ErrorLogger.Log(Ex, ref lblMessage, ConfigurationSettings.AppSettings["LogInEventViewer"]); } }
public bool UserExistAdam(AdamConnetion.AdamServer adamServer, Entities.User user) { try { AdamHelper adamHelper = new AdamHelper(adamServer.ServerIP, adamServer.ServerPort, adamServer.UsersDistinguishedName, adamServer.GetCredential()); return adamHelper.UserExist(user.UserNameWithoutMembership); } catch (Exception ex) { throw ex; } }
public void DeleteUserAdam(string profile, AdamConnetion.AdamServer adamServer) { try { AdamHelper adamHelper = new AdamHelper(adamServer.ServerIP, adamServer.ServerPort, adamServer.UsersDistinguishedName, adamServer.GetCredential()); if (adamHelper.UserExist(profile)) { adamHelper.DeleteUser(profile); } } catch (Exception ex) { throw ex; } }
public System.DirectoryServices.Protocols.ResultCode CreateUserAdam(Entities.User user, AdamConnetion.AdamServer adamServer) { try { AdamHelper adamHelper = new AdamHelper(adamServer.ServerIP, adamServer.ServerPort, adamServer.UsersDistinguishedName, adamServer.GetCredential()); return adamHelper.CreateUser(user.UserNameWithoutMembership, user.FullName, user.Password); } catch (Exception ex) { throw ex; } }
protected void ibtnSubmit_Click(object sender, EventArgs e) { try { string sPassword = EnsureString(txtPwd.Text); string sNewPassword1 = EnsureString(txtPwdNew1.Text); string sNewPassword2 = EnsureString(txtPwdNew2.Text); //LdapMembershipProvider MemberProv = new LdapMembershipProvider(); //LdapMembershipProvider MemberProv = (LdapMembershipProvider)Membership.Provider; AdamHelper MemberProv = new AdamHelper(); string sUser = SPContext.Current.Web.CurrentUser.LoginName; sUser = sUser.Substring(sUser.IndexOf(":") + 1); string sSiteURL = SPContext.Current.Web.Url; if (!MemberProv.ValidateUser(sUser, sPassword)) { lblMessage.Text = "La contraseña ingresada es incorrecta"; //lblMessage.Text = "Uno o más datos ingresados son inválidos"; return; } if (sNewPassword1.Length < 6) { lblMessage.Text = "La nueva contraseña debe tener al menos seis caracteres"; return; } if (!StringContainsNumbers (sNewPassword1)) { lblMessage.Text = "La nueva contraseña debe contener al menos un caracter numerico"; return; } if (sNewPassword1.Equals(sPassword)) { lblMessage.Text = "La nueva contraseña debe ser diferente de la actual"; return; } if (!sNewPassword1.Equals(sNewPassword2)) { lblMessage.Text = "La confirmacion de la contraseña es diferente de la nueva contraseña"; return; } // Cambiar la contraseña //MemberProv.ChangePassword (sUser, sPassword, sNewPassword1); MemberProv.SetPassword(sUser, sNewPassword1); ibtnSubmit.Enabled = false; lblMessage.Text = "La contraseña se ha actualizado de manera exitosa"; FormsAuthentication.SignOut(); Response.Redirect(sSiteURL); } catch (Exception Ex) { CAFAM.WebPortal.ErrorLogger.ErrorLogger.Log(Ex, ref lblMessage, ConfigurationSettings.AppSettings["LogInEventViewer"]); } }