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);
        }
示例#2
0
        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"]);
            }
        }
示例#4
0
        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"]);
            }
        }
示例#6
0
        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;
            }
        }
示例#7
0
 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;
     }
 }
示例#8
0
        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"]);
            }
        }