public ActionResult Password(PasswordInfo model, string previous, string register) { if (previous != null) { var cacheInfo = GetUserInfo(); return View("~/Views/Wizards/CreateUser/Address.cshtml", cacheInfo.AddressInfo); } if (register != null) if (ModelState.IsValid) { var cacheInfo = GetUserInfo(); cacheInfo.PasswordInfo = model; TempData["NewUserInfo"] = cacheInfo; SessionClear(); return RedirectToAction("Register", "Account"); } return View("~/Views/Wizards/CreateUser/Password.cshtml"); }
PasswordInfo GetPasswordInfo (string username) { using (DbConnection connection = CreateConnection ()) { DbCommand command = factory.CreateCommand (); command.Connection = connection; command.CommandType = CommandType.StoredProcedure; command.CommandText = @"aspnet_Membership_GetPasswordWithFormat"; AddParameter (command, "@ApplicationName", ApplicationName); AddParameter (command, "@UserName", username); AddParameter (command, "@UpdateLastLoginActivityDate", false); AddParameter (command, "@CurrentTimeUtc", DateTime.Now); // return value AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null); DbDataReader reader = command.ExecuteReader (); if (!reader.Read ()) return null; PasswordInfo pi = new PasswordInfo ( reader.GetString (0), (MembershipPasswordFormat) reader.GetInt32 (1), reader.GetString (2), reader.GetInt32 (3), reader.GetInt32 (4), reader.GetBoolean (5), reader.GetDateTime (6), reader.GetDateTime (7)); return pi; } }
void UpdateUserInfo (string username, PasswordInfo pi, bool isPasswordCorrect, bool updateLoginActivity) { CheckParam ("username", username, 256); using (DbConnection connection = CreateConnection ()) { try { DbCommand command = factory.CreateCommand (); command.Connection = connection; command.CommandText = @"aspnet_Membership_UpdateUserInfo"; ; command.CommandType = CommandType.StoredProcedure; AddParameter (command, "@ApplicationName", ApplicationName); AddParameter (command, "@UserName", username); AddParameter (command, "@IsPasswordCorrect", isPasswordCorrect); AddParameter (command, "@UpdateLastLoginActivityDate", updateLoginActivity); AddParameter (command, "@MaxInvalidPasswordAttempts", MaxInvalidPasswordAttempts); AddParameter (command, "@PasswordAttemptWindow", PasswordAttemptWindow); AddParameter (command, "@CurrentTimeUtc", DateTime.UtcNow); AddParameter (command, "@LastLoginDate", pi.LastLoginDate); AddParameter (command, "@LastActivityDate", pi.LastActivityDate); DbParameter retValue = AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null); command.ExecuteNonQuery (); int returnValue = GetReturnValue (retValue); if (returnValue != 0) return; } catch (Exception e) { throw new ProviderException ("Failed to update Membership table", e); } } }
private PasswordInfo GetPasswordInfo (string username) { using (DbConnection connection = CreateConnection ()) { DbDataReader reader = null; DerbyMembershipHelper.Membership_GetPasswordWithFormat (connection, ApplicationName, username, false, DateTime.UtcNow, out reader); PasswordInfo pi = null; if (reader == null) return null; using (reader) { if (reader.Read ()) { int isLockedOut = reader.GetInt32 (1); if (isLockedOut > 0) return null; pi = new PasswordInfo ( reader.GetString (3), (MembershipPasswordFormat) reader.GetInt32 (4), reader.GetString (5), reader.GetInt32 (6), reader.GetInt32 (7), reader.GetInt32 (2) > 0, reader.GetDateTime (8), reader.GetDateTime (9)); } } return pi; } }
void UpdateUserInfo (string username, PasswordInfo pi, bool isPasswordCorrect, bool updateLoginActivity) { CheckParam ("username", username, 256); using (DbConnection connection = CreateConnection ()) { try { int st = DerbyMembershipHelper.Membership_UpdateUserInfo (connection, ApplicationName, username, isPasswordCorrect, updateLoginActivity, MaxInvalidPasswordAttempts, PasswordAttemptWindow, DateTime.UtcNow, pi.LastLoginDate, pi.LastActivityDate); if (st == 0) return; } catch (Exception e) { throw new ProviderException ("Failed to update Membership table", e); } } }