public override string GetPassword(string username, string answer) { string password = null; if (!EnablePasswordRetrieval) { throw NhibernateMembershipProviderExceptionUtil.NewProviderException(this, NHibernateProviderSR. Pwd_RetrievalNotEnabled); } if (MembershipPasswordFormat.Hashed == PasswordFormat) { throw NhibernateMembershipProviderExceptionUtil.NewProviderException(this, NHibernateProviderSR. Pwd_CannotRetrieveHashed); } SystemUserWrapper user = SystemUserWrapper.GetUserByLoginID(username); if (user != null) { if (RequiresQuestionAndAnswer && !CheckPassword(answer, user.PasswordAnswer, user.PasswordSalt)) { UpdateFailureCount(username, FailureType.PasswordAnswer); throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_IncorrectAnswer)); } if (MembershipPasswordFormat.Encrypted == PasswordFormat) { password = UnencodePassword(password); } } return(password); }
public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer) { bool flag = false; if (ValidateUser(username, password)) { SystemUserWrapper user = SystemUserWrapper.GetUserByLoginID(username); if (user == null) { return(flag); } try { user.PasswordQuestion = newPasswordQuestion; user.PasswordAnswer = EncodePassword(newPasswordAnswer, user.PasswordSalt); user.LastActivityDate = DateTime.Now; SystemUserWrapper.Update(user); flag = true; } catch { throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_UnableToChangeQandA)); } } return(flag); }
public bool ChangePassword(string username, string newPassword) { bool flag = false; SystemUserWrapper user = SystemUserWrapper.GetUserByLoginID(username); if (user == null) { return(flag); } try { user.UserPassword = EncodePassword(newPassword, user.PasswordSalt); user.LastPasswordChangeDate = DateTime.Now; user.LastActivityDate = DateTime.Now; SystemUserWrapper.Update(user); flag = true; } catch { throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_OpCancelledDueToAccountLocked)); } return(flag); }
public override void AddUsersToRoles(string[] usernames, string[] roleNames) { int length = usernames.Length; if (length != roleNames.Length) { throw new ArgumentOutOfRangeException(NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR.Role_UserRoleParamsNotSameLength)); } try { SystemRoleWrapper.AddUsersToRoles(usernames, roleNames); } catch (Exception exception) { throw NhibernateMembershipProviderExceptionUtil.NewProviderException(this, NHibernateProviderSR.Role_UnableToAddUsersToRoles, exception); } }
public override bool ChangePassword(string username, string oldPassword, string newPassword) { bool flag = false; if (ValidateUser(username, oldPassword)) { var e = new ValidatePasswordEventArgs(username, newPassword, true); OnValidatingPassword(e); if (e.Cancel) { if (e.FailureInformation != null) { throw e.FailureInformation; } throw NhibernateMembershipProviderExceptionUtil.NewProviderException(this, NHibernateProviderSR. Pwd_ChangeCancelledDueToNewPassword); } SystemUserWrapper user = SystemUserWrapper.GetUserByLoginID(username); if (user == null) { return(flag); } try { user.UserPassword = EncodePassword(newPassword, user.PasswordSalt); user.LastPasswordChangeDate = DateTime.Now; user.LastActivityDate = DateTime.Now; SystemUserWrapper.Update(user); flag = true; } catch { throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_OpCancelledDueToAccountLocked)); } } return(flag); }
public override string ResetPassword(string username, string answer) { if (!EnablePasswordReset) { throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_ResetNotEnabled)); } if ((answer == null) && RequiresQuestionAndAnswer) { UpdateFailureCount(username, FailureType.PasswordAnswer); throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_AnswerRequiredForReset)); } string password = Membership.GeneratePassword(minRequiredPasswordLength, MinRequiredNonAlphanumericCharacters); var e = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(e); if (e.Cancel) { if (e.FailureInformation != null) { throw e.FailureInformation; } throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_ResetCancelledDueToNewPassword)); } SystemUserWrapper user = SystemUserWrapper.GetUserByLoginID(username); if (user != null) { if (user.IsLockedOut) { throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. User_IsLockedOut)); } if (RequiresQuestionAndAnswer && !CheckPassword(answer, user.PasswordAnswer, user.PasswordSalt)) { UpdateFailureCount(username, FailureType.PasswordAnswer); throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_IncorrectAnswer)); } try { user.UserPassword = EncodePassword(password, user.PasswordSalt); user.LastPasswordChangeDate = DateTime.Now; user.LastActivityDate = DateTime.Now; SystemUserWrapper.SaveOrUpdate(user); } catch { throw new MembershipPasswordException( NhibernateMembershipProviderExceptionUtil.FormatExceptionMessage(this, NHibernateProviderSR. Pwd_OpCancelledDueToAccountLocked)); } } return(password); }