// Inherited from MembershipProvider ==> Forwarded to previous provider if this provider hasn't been initialized public override bool ChangePassword(string username, string oldPassword, string newPassword) { if (!InitializeCalled) { return(PreviousProvider.ChangePassword(username, oldPassword, newPassword)); } // REVIEW: are commas special in the password? if (string.IsNullOrEmpty(username)) { throw new ArgumentException("Argument_Cannot_Be_Null_Or_Empty", "username"); } if (string.IsNullOrEmpty(oldPassword)) { throw new ArgumentException("Argument_Cannot_Be_Null_Or_Empty", "oldPassword"); } if (string.IsNullOrEmpty(newPassword)) { throw new ArgumentException("Argument_Cannot_Be_Null_Or_Empty", "newPassword"); } MembershipAccount user; try { user = GetUser(username); } catch { return(false); } using (var session = new MongoSession(_connectionString)) { // First check that the old credentials match if (!CheckPassword(session, user.UserId, oldPassword)) { return(false); } return(SetPassword(session, user, newPassword)); } }
// Inherited from MembershipProvider ==> Forwarded to previous provider if this provider hasn't been initialized public override bool ChangePassword(string username, string oldPassword, string newPassword) { if (!InitializeCalled) { return(PreviousProvider.ChangePassword(username, oldPassword, newPassword)); } // REVIEW: are commas special in the password? if (username.IsEmpty()) { throw new ArgumentException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "username"); } if (oldPassword.IsEmpty()) { throw new ArgumentException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "oldPassword"); } if (newPassword.IsEmpty()) { throw new ArgumentException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "newPassword"); } using (var db = ConnectToDatabase()) { int userId = GetUserId(db, SafeUserTableName, SafeUserNameColumn, SafeUserIdColumn, username); if (userId == -1) { return(false); // User not found } // First check that the old credentials match if (!CheckPassword(db, userId, oldPassword)) { return(false); } return(SetPassword(db, userId, newPassword)); } }