public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { var args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return null; } if (RequiresUniqueEmail && GetUserNameByEmail(email) != string.Empty) { status = MembershipCreateStatus.DuplicateEmail; return null; } var user = GetUser(username, true); if (user == null) { var userObj = new User { UserName = username, Password = GetMd5Hash(password), UserEmailAddress = email }; using (var usersContext = new UsersContext()) { usersContext.AddUser(userObj); } status = MembershipCreateStatus.Success; return GetUser(username, true); } status = MembershipCreateStatus.DuplicateUserName; return null; }
private User AddUser(User user) { if (UserExists(user)) throw new ArgumentException(TooManyUser); return entities.Users.Add(user); }
public void CreateUser(string username, string name, string password, string email, string roleName) { Role role = GetRole(roleName); if (string.IsNullOrEmpty(username.Trim())) throw new ArgumentException("The user name provided is invalid. Please check the value and try again."); if (string.IsNullOrEmpty(name.Trim())) throw new ArgumentException("The name provided is invalid. Please check the value and try again."); if (string.IsNullOrEmpty(password.Trim())) throw new ArgumentException("The password provided is invalid. Please enter a valid password value."); if (string.IsNullOrEmpty(email.Trim())) throw new ArgumentException("The e-mail address provided is invalid. Please check the value and try again."); if (!RoleExists(role)) throw new ArgumentException("The role selected for this user does not exist! Contact an administrator!"); if (this.entities.Users.Any(user => user.UserName == username)) throw new ArgumentException("Username already exists. Please enter a different user name."); User newUser = new User() { UserName = username, Name = name, Password = FormsAuthentication.HashPasswordForStoringInConfigFile(password.Trim(), "md5"), Email = email, RoleId = role.RoleId }; try { AddUser(newUser); } catch (ArgumentException e) { throw e; } catch (Exception e) { throw new ArgumentException("The authentication provider returned an error. Please verify your entry and try again. If the problem persists,please contact your system administrator."); } // Immediately persist the user data Save(); }
public bool UserExists(User user) { if (user == null) return false; return (entities.Users.SingleOrDefault(u => u.UserID == user.UserID || u.UserName == user.UserName) != null); }
public Role GetRoleForUser(User user) { if (!UserExists(user)) throw new ArgumentException(MissingUser); return user.Role; }
public User DeleteUser(User user) { if (!UserExists(user)) throw new ArgumentException(MissingUser); return entities.Users.Remove(user); }
// Helper methods. User can also directly access "Users" property public void AddUser(User user) { Users.Add(user); SaveChanges(); }
public void CreateUser(string username, string name, string password, string email, string roleName) { Role role = GetRole(roleName); if (string.IsNullOrEmpty(username.Trim())) throw new ArgumentException("用户名不完整,请重新输入."); if (string.IsNullOrEmpty(name.Trim())) throw new ArgumentException("昵称不完整,请重新输入."); if (string.IsNullOrEmpty(password.Trim())) throw new ArgumentException("密码不完整,请重新输入."); if (string.IsNullOrEmpty(email.Trim())) throw new ArgumentException("邮箱地址不完整,请检查后重试."); if (!RoleExists(role)) throw new ArgumentException("角色不存在,请联系管理员!"); if (this.entities.Users.Any(user => user.UserName == username)) throw new ArgumentException("用户名已经存在,请选择另外的名字."); User newUser = new User() { UserName = username, Name = name, Password = FormsAuthentication.HashPasswordForStoringInConfigFile(password.Trim(), "md5"), Email = email, RoleId = role.RoleId }; try { AddUser(newUser); } catch (ArgumentException e) { throw e; } catch (Exception e) { throw new ArgumentException("The authentication provider returned an error. Please verify your entry and try again. If the problem persists,please contact your system administrator."); } // Immediately persist the user data this.Save(); }