public InternalLoginInfo RenewPassword(Person person, EditType editBy, ref String newPassword) { InternalLoginInfo loginInfo = null; try { Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); if (person != null) { Manager.BeginTransaction(); Person currentUser = Manager.GetPerson(UC.CurrentUserID); loginInfo = (from li in Manager.GetIQ <InternalLoginInfo>() where li.Person == person select li).Skip(0).Take(1).ToList().FirstOrDefault(); if (loginInfo != null) { newPassword = lm.Comol.Core.DomainModel.Helpers.RandomKeyGenerator.GenerateRandomKey(6, 10, true, true, false); loginInfo.Password = helper.Encrypt(newPassword); loginInfo.UpdateMetaInfo(Manager.GetPerson(UC.CurrentUserID), UC.IpAddress, UC.ProxyIpAddress); loginInfo.ResetType = editBy; Manager.SaveOrUpdate(loginInfo); AddToHistory(loginInfo); } Manager.Commit(); } } catch (Exception ex) { Manager.RollBack(); loginInfo = null; } return(loginInfo); }
//public String RenewPassword(String login) //{ // String newPassword = ""; // try // { // InternalLoginInfo info = (from i in this.Manager.GetIQ<InternalLoginInfo>() // where i.Login == login // select i).Skip(0).Take(1).ToList().FirstOrDefault(); // newPassword = RenewPassword(info); // } // catch (Exception ex) // { // Manager.RollBack(); // newPassword = ""; // } // return newPassword; //} public String RenewPassword(InternalLoginInfo userInfo, Person modifyBy, EditType editBy) { String newPassword = ""; try { Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); if (userInfo != null) { Manager.BeginTransaction(); Person currentUser = Manager.GetPerson(UC.CurrentUserID); if (currentUser == null && UC.CurrentUserID == 0) { currentUser = userInfo.Person; } newPassword = lm.Comol.Core.DomainModel.Helpers.RandomKeyGenerator.GenerateRandomKey(6, 10, true, true, false); userInfo.Password = helper.Encrypt(newPassword); userInfo.UpdateMetaInfo(modifyBy, UC.IpAddress, UC.ProxyIpAddress); userInfo.ResetType = editBy; Manager.SaveOrUpdate(userInfo); AddToHistory(userInfo); Manager.Commit(); } } catch (Exception ex) { Manager.RollBack(); newPassword = ""; } return(newPassword); }
public InternalLoginInfo AddUserInfo(String login, String password, int idPerson, DateTime passwordExpiresOn, InternalAuthenticationProvider provider) { InternalLoginInfo userInfo = null; try { Person currentUser = Manager.GetPerson(UC.CurrentUserID); Person creator = Manager.GetPerson(idPerson); if (currentUser == null) { currentUser = creator; } if (provider != null && creator != null) { Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); Manager.BeginTransaction(); userInfo = new InternalLoginInfo(); userInfo.CreateMetaInfo(currentUser, UC.IpAddress, UC.ProxyIpAddress); userInfo.PasswordExpiresOn = passwordExpiresOn; userInfo.Deleted = BaseStatusDeleted.None; userInfo.isEnabled = true; userInfo.Provider = provider; userInfo.Login = login; userInfo.Password = helper.Encrypt(password); userInfo.Person = creator; if (creator.IdDefaultProvider == 0 || String.IsNullOrEmpty(creator.FirstLetter)) { //// TEMPORANEO //creator.Login = login; //creator.Password=userInfo.Password; //// TEMPORANEO if (creator.IdDefaultProvider == 0) { creator.IdDefaultProvider = provider.Id; } if (String.IsNullOrEmpty(creator.FirstLetter)) { creator.FirstLetter = creator.Surname[0].ToString().ToLower(); } Manager.SaveOrUpdate(creator); } Manager.SaveOrUpdate(userInfo); AddToHistory(userInfo); Manager.Commit(); } } catch (Exception ex) { Manager.RollBack(); userInfo = null; } return(userInfo); }
public Boolean Authenticate(String login, String password) { Boolean result = false; try { Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); result = (from i in this.Manager.GetIQ <InternalLoginInfo>() where i.Login == login && i.Password == helper.Encrypt(password) && i.Deleted == BaseStatusDeleted.None select i.Id).Any(); } catch (Exception ex) { } return(result); }
public InternalLoginInfo GetAuthenticatedUser(String login, String password) { InternalLoginInfo result = null; try { Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); result = (from i in this.Manager.GetIQ <InternalLoginInfo>() where i.Login == login && i.Password == helper.Encrypt(password) && i.Deleted == BaseStatusDeleted.None select i).Skip(0).Take(1).ToList().FirstOrDefault(); } catch (Exception ex) { result = null; } return(result); }
public InternalLoginInfo SetPassword(Person person, String newPassword, Boolean isOneTimePassword) { InternalLoginInfo userInfo = null; try { InternalAuthenticationProvider provider = (from p in Manager.GetIQ <InternalAuthenticationProvider>() where p.IsEnabled && p.Deleted == BaseStatusDeleted.None select p).Skip(0).Take(1).ToList().FirstOrDefault(); userInfo = (from i in this.Manager.GetIQ <InternalLoginInfo>() where i.Person == person && i.Deleted == BaseStatusDeleted.None select i).Skip(0).Take(1).ToList().FirstOrDefault(); Person setUser = Manager.GetPerson(UC.CurrentUserID); Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); if (userInfo == null || setUser == null) { throw new UnknownItemException(); } else { Manager.BeginTransaction(); userInfo.UpdateMetaInfo(setUser, UC.IpAddress, UC.ProxyIpAddress); userInfo.Password = helper.Encrypt(newPassword); userInfo.ResetType = (isOneTimePassword) ? EditType.oneTime : EditType.admin; if (provider != null && provider.ChangePasswordAfterDays > 0) { userInfo.PasswordExpiresOn = DateTime.Now.AddDays(provider.ChangePasswordAfterDays); } AddToHistory(userInfo); Manager.Commit(); } } catch (UnknownItemException uEx) { userInfo = null; throw uEx; } catch (Exception ex) { Manager.RollBack(); userInfo = null; } return(userInfo); }
public InternalLoginInfo GenerateUserInfo(Person person, String login, String password, InternalAuthenticationProvider provider, Boolean oneTimePassword) { InternalLoginInfo userInfo = null; try { Person currentUser = Manager.GetPerson(UC.CurrentUserID); if (currentUser == null) { currentUser = person; } if (provider != null && person != null) { Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); Manager.BeginTransaction(); if (!(from l in Manager.GetIQ <InternalLoginInfo>() where l.Person == person && l.Deleted == BaseStatusDeleted.None && l.Provider == provider select l.Id).Any()) { userInfo = new InternalLoginInfo(); userInfo.CreateMetaInfo(currentUser, UC.IpAddress, UC.ProxyIpAddress); userInfo.PasswordExpiresOn = (provider == null || provider.ChangePasswordAfterDays == 0) ? DateTime.MaxValue : DateTime.Now.AddDays(provider.ChangePasswordAfterDays); userInfo.Deleted = BaseStatusDeleted.None; userInfo.isEnabled = true; userInfo.Provider = provider; userInfo.Login = login; userInfo.Password = helper.Encrypt(password); userInfo.Person = person; userInfo.ResetType = (oneTimePassword) ? EditType.oneTime : EditType.admin; if (person.IdDefaultProvider == 0 || String.IsNullOrEmpty(person.FirstLetter)) { if (person.IdDefaultProvider == 0) { person.IdDefaultProvider = provider.Id; } if (String.IsNullOrEmpty(person.FirstLetter)) { person.FirstLetter = person.Surname[0].ToString().ToLower(); } Manager.SaveOrUpdate(person); } Manager.SaveOrUpdate(userInfo); AddToHistory(userInfo); } else { userInfo = (from l in Manager.GetIQ <InternalLoginInfo>() where l.Person == person && l.Deleted == BaseStatusDeleted.None && l.Provider == provider select l).Skip(0).Take(1).ToList().FirstOrDefault(); } Manager.Commit(); } } catch (Exception ex) { Manager.RollBack(); userInfo = null; } return(userInfo); }
//public Boolean EditPassword(String login, String oldPassword, String newPassword) //{ // Boolean result = false; // try // { // Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); // InternalLoginInfo info = (from i in this.Manager.GetIQ<InternalLoginInfo>() // where i.Login == login && i.Password == helper.Encrypt(oldPassword) // select i).Skip(0).Take(1).ToList().FirstOrDefault(); // if (info != null) { // Manager.BeginTransaction(); // info.Password = helper.Encrypt(newPassword); // info.UpdateMetaInfo(Manager.GetPerson(UC.CurrentUserID), UC.IpAddress, UC.ProxyIpAddress); // Manager.SaveOrUpdate(info); // result = true; // } // } // catch (Exception ex) // { // Manager.RollBack(); // } // return result; //} public Boolean EditPassword(Person person, String oldPassword, String newPassword, Boolean mustEdit) { Boolean edited = false; try { InternalAuthenticationProvider provider = (from p in Manager.GetIQ <InternalAuthenticationProvider>() where p.IsEnabled && p.Deleted == BaseStatusDeleted.None select p).Skip(0).Take(1).ToList().FirstOrDefault(); InternalLoginInfo info = (from i in this.Manager.GetIQ <InternalLoginInfo>() where i.Person == person && i.Deleted == BaseStatusDeleted.None select i).Skip(0).Take(1).ToList().FirstOrDefault(); Helpers.InternalEncryptor helper = new Helpers.InternalEncryptor(); if (info == null) { throw new UnknownItemException(); } else if (info.Password != helper.Encrypt(oldPassword)) { throw new InvalidPasswordException(); } else if (mustEdit && info.Password == helper.Encrypt(newPassword)) { throw new SamePasswordException(); } else { Manager.BeginTransaction(); info.UpdateMetaInfo(Manager.GetPerson((mustEdit) ? person.Id : UC.CurrentUserID), UC.IpAddress, UC.ProxyIpAddress); info.Password = helper.Encrypt(newPassword); info.ResetType = (info.ModifiedBy == person || mustEdit) ? EditType.user : EditType.admin; if (provider != null && provider.ChangePasswordAfterDays > 0) { info.PasswordExpiresOn = DateTime.Now.AddDays(provider.ChangePasswordAfterDays); } Manager.Commit(); AddToHistory(info); edited = true; } } catch (SamePasswordException uEx) { throw uEx; } catch (UnknownItemException uEx) { throw uEx; } catch (InvalidPasswordException pEx) { throw pEx; } catch (Exception ex) { Manager.RollBack(); newPassword = ""; } return(edited); }