private WebUser GetUser(Func<WebUser, bool> query) { WebUser user; using (WebUsersController swuc = new WebUsersController()) { user = swuc.GetWhere(query).FirstOrDefault(); } if (user == null) { return null; //throw new ProviderException("The requested user could not be found."); } return user; }
public static WebUser GetCurrentWebUser() { int userID; if (!HttpContext.Current.User.Identity.IsAuthenticated || !int.TryParse(HttpContext.Current.User.Identity.Name, out userID)) { //throw new Exception("User not authenticated"); return null; } WebUser user = HttpContext.Current.Session["CurrentWebUser"] as WebUser; if (user != null && user.UserID == userID) { return user; } else { using (WebUsersController wuc = new WebUsersController()) { HttpContext.Current.Session["CurrentWebUser"] = wuc.GetWhere(i => i.UserID == userID).First(); return HttpContext.Current.Session["CurrentWebUser"] as WebUser; } } }
public override string GetUserNameByEmail(string email) { using (WebUsersController wuc = new WebUsersController()) { WebUser user = wuc.GetWhere(u => u.Email == email).FirstOrDefault(); return (user == null) ? "" : user.Email; } }
private MembershipUser GetUser(Func<WebUser, bool> search, bool userIsOnline) { using (WebUsersController swuc = new WebUsersController()) { MembershipUser membershipUser = null; WebUser user; try { user = swuc.GetWhere(search).FirstOrDefault(); } catch (ProviderException) { user = null; } if (user != null) { membershipUser = GetMembershipUserFromPersistedEntity(user); if (userIsOnline) { // modify online //user.LastActivityDate = DateTime.Now; //context.SaveChanges(); } } return membershipUser; } }
public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) { using (WebUsersController wuc = new WebUsersController()) { var webUsers = wuc.GetWhere(i => i.Email == usernameToMatch).Select(i => GetMembershipUserFromPersistedEntity(i)); MembershipUserCollection collection = new MembershipUserCollection(); foreach (MembershipUser user in webUsers) { collection.Add(user); } totalRecords = collection.Count; return collection; } }
public override bool DeleteUser(string username, bool deleteAllRelatedData) { try { using (WebUsersController wuc = new WebUsersController()) { WebUser user; try { user = wuc.GetWhere(u => u.Email == username).FirstOrDefault(); if (user == null) { return false; } } catch (ProviderException) { return false; } wuc.Delete(user.UserID); // Need to delete all user related data (Mark as historical) return true; } } catch { return false; } }
public override string ResetPassword(string username, string answer) { if (!EnablePasswordReset) { throw new NotSupportedException("Password reset is not enabled."); } if (answer == null && RequiresQuestionAndAnswer) { throw new ProviderException("Password answer required for password reset."); } string newPassword = Membership.GeneratePassword(NEWPASSWORDLENGTH, MinRequiredNonAlphanumericCharacters); ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, newPassword, true); OnValidatingPassword(args); if (args.Cancel) { if (args.FailureInformation != null) { throw args.FailureInformation; } throw new MembershipPasswordException("Reset password canceled due to password validation failure."); } using (WebUsersController swuc = new WebUsersController()) { WebUser user = swuc.GetWhere(u => u.Email == username).FirstOrDefault(); try { user.Password = EncodePassword(newPassword); swuc.Update(user); return newPassword; } catch(Exception ex) { throw new MembershipPasswordException("User not found, or user is locked out. Password not Reset."); } } }
public override bool ChangePassword(string username, string oldPassword, string newPassword) { // Check if user is authenticated if (!ValidateUser(username, oldPassword)) { return false; } // Notify that password is going to change ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, newPassword, true); OnValidatingPassword(args); if (args.Cancel) { if (args.FailureInformation != null) { throw args.FailureInformation; } throw new MembershipPasswordException("Change password canceled due to new password validation failure."); } using (WebUsersController swuc = new WebUsersController()) { WebUser user = swuc.GetWhere(u => u.Email == username).FirstOrDefault(); user.Password = EncodePassword(newPassword); try { swuc.Update(user); return true; } catch(Exception ex) { return false; } } }
public override string GetPassword(string username, string answer) { if (!EnablePasswordRetrieval) { throw new ProviderException("Password Retrieval Not Enabled."); } if (PasswordFormat == MembershipPasswordFormat.Hashed) { throw new ProviderException("Cannot retrieve Hashed passwords."); } string password = string.Empty; using (WebUsersController wuc = new WebUsersController()) { WebUser user = wuc.GetWhere(swu => swu.Email.Equals(username)).FirstOrDefault(); if (PasswordFormat == MembershipPasswordFormat.Encrypted) { password = UnEncodePassword(user.Password); } } return password; }