public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ServerModel.User.Create(username, password, email); var res = ServerModel.User.ByLogin(username); status = res != null ? MembershipCreateStatus.Success : MembershipCreateStatus.UserRejected; return res; }
public void MembershipProvider_Create_User() { string username = Guid.NewGuid().ToString("N"); string password = Guid.NewGuid().ToString("N"); string email = Guid.NewGuid().ToString("N") + "@email.com"; string passwordQuestion = Guid.NewGuid().ToString("N"); string passwordAnswer = Guid.NewGuid().ToString("N"); bool isApproved = true; MembershipCreateStatus status = new MembershipCreateStatus(); // TODO: Initialize to an appropriate value var m = m_Provider.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, null, out status); Assert.AreEqual<MembershipCreateStatus>(MembershipCreateStatus.Success, status); Assert.AreEqual<string>(email, m.Email); var m1 = m_Provider.GetUser(m.ProviderUserKey, false); Assert.AreEqual<string>(m.UserName, m1.UserName); //delete the member m_Provider.DeleteUser(username, true); //make sure its gone var hasException = false; try { m_Provider.GetUser(m.ProviderUserKey, false); } catch (ArgumentException) { hasException = true; } Assert.IsTrue(hasException); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { if (_dataService.IsExistingUsername(username)) { status = MembershipCreateStatus.DuplicateUserName; return null; } if (_dataService.IsExistingEmail(email)) { status = MembershipCreateStatus.DuplicateEmail; return null; } TimeSpan ts = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0)); string salt = SimpleHash.GetSalt(32); string activationCode = ShortGuid.NewGuid(); User user = new User() { email = email, usergroupid = 3, username = username, password = SimpleHash.MD5(password, salt), passworddate = DateTime.Now.Date, usertitle = "Guest", joindate = Convert.ToInt32(ts.TotalSeconds), timezoneoffset = -6, options = 45108439, salt = salt, showbirthday = 0, showvbcode = 0, membergroupids = string.Empty }; user = _dataService.CreateForumUser(user, activationCode); if (user != null) { Login login = new Login(); login.Username = username; login.Password = SimpleHash.MD5(password, salt); login.Email = email; login.ForumUserId = user.userid; login.PasswordSalt = salt; login = _dataService.CreateLogin(login); if (login != null) { NtxfcMembershipProvider provider = Membership.Provider as NtxfcMembershipProvider; provider.SendConfirmationEmail(username, email, String.Format("{0}/Account/Activation/?u={1}&i={2}", ConfigurationManager.AppSettings["MemberUrl"], HttpContext.Current.Server.UrlEncode(username), activationCode)); status = MembershipCreateStatus.Success; return new MembershipUser(this.Name, username, login.Id, login.Email, string.Empty, string.Empty, true, false, new DateTime(), new DateTime(), new DateTime(), new DateTime(), new DateTime()); } } status = MembershipCreateStatus.ProviderError; return null; }
public string GetErrorMessage(MembershipCreateStatus status) { switch (status) { case MembershipCreateStatus.DuplicateUserName: return "Bu kullanıcı adı kullanılmakta,Başka bir kullanıcı adı deneyin"; case MembershipCreateStatus.DuplicateEmail: return "Bu email kullanılmakta,Başka bir email deneyin"; case MembershipCreateStatus.InvalidPassword: return "Geçersiz şifre"; case MembershipCreateStatus.InvalidEmail: return "Geçersiz email"; case MembershipCreateStatus.InvalidUserName: return "Geçersiz kullanıcı adı"; //case MembershipCreateStatus.InvalidAnswer: // return "The password retrieval answer provided is invalid. Please check the value and try again."; //case MembershipCreateStatus.InvalidQuestion: // return "The password retrieval question provided is invalid. Please check the value and try again."; //case MembershipCreateStatus.ProviderError: // return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; //case MembershipCreateStatus.UserRejected: // return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; default: return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; } }
/// <summary> /// 新しいメンバーシップユーザーをデータソースに追加します。 /// </summary> /// <returns> /// 新しく作成されたユーザーの情報が格納された <see cref="T:System.Web.Security.MembershipUser"/> オブジェクト。 /// </returns> /// <param name="username">新しいユーザーのユーザー名。</param> /// <param name="password">新しいユーザーのパスワード。</param> /// <param name="email">新しいユーザーの電子メール アドレス。</param> /// <param name="passwordQuestion">新しいユーザーのパスワードの質問。</param> /// <param name="passwordAnswer">新しいユーザーのパスワードの解答。</param> /// <param name="isApproved">新しいユーザーを承認するかどうか。</param> /// <param name="providerUserKey">メンバーシップ データ ソースでのユーザーの一意の識別子。</param> /// <param name="status">ユーザーが正常に作成されたかどうかを示す <see cref="T:System.Web.Security.MembershipCreateStatus"/> 列挙値。</param> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { status = MembershipCreateStatus.ProviderError; // パスワードの保護 var securePassword = new SecureString(); securePassword.AppendString(password); // 認証の作成 var membership = new DomainModels.Membership( new MembershipEntity { Name = username, Password = securePassword, }); var result = MembershipCreateStatus.ProviderError; membership.Created += (sender, entity) => { result = MembershipCreateStatus.Success; }; membership.Create(); status = result; var user = default (KandaMembershipUser); membership.Found += (sender, entity) => { user = new KandaMembershipUser(entity); }; membership.Find(); return user; }
public MyTrelloUser Authenticate(string nickName, string password, out MembershipCreateStatus status) { var userModel = _repo.GetById(nickName); if (userModel == null) { status = MembershipCreateStatus.InvalidUserName; return null; } if(!userModel.IsValid) { status = MembershipCreateStatus.ProviderError; return userModel; } IGenerator gen = new Generator(); if (!gen.GenerateHash(password).SequenceEqual(userModel.Password)) { status = MembershipCreateStatus.InvalidPassword; return null; } status = MembershipCreateStatus.Success; return userModel; }
private static string ErrorCodeToString(MembershipCreateStatus createStatus) { // See http://msdn.microsoft.com/en-us/library/system.web.security.membershipcreatestatus.aspx for // a full list of status codes and add appropriate error handling. switch (createStatus) { case MembershipCreateStatus.DuplicateUserName: return ClientCultureBasedResources.GetResource(() => ErrorResources.MembershipCreateStatusDuplicateUserName); case MembershipCreateStatus.DuplicateEmail: return ClientCultureBasedResources.GetResource(() => ErrorResources.MembershipCreateStatusDuplicateEmail); case MembershipCreateStatus.ProviderError: return ClientCultureBasedResources.GetResource(() => ErrorResources.MembershipCreateStatusProviderError); case MembershipCreateStatus.UserRejected: return ClientCultureBasedResources.GetResource(() => ErrorResources.MembershipCreateStatusUserRejected); case MembershipCreateStatus.InvalidPassword: case MembershipCreateStatus.InvalidEmail: case MembershipCreateStatus.InvalidAnswer: case MembershipCreateStatus.InvalidQuestion: case MembershipCreateStatus.InvalidUserName: // All this errors should have been handled by the UI validation so theoretically // we should never get to this point return "Validation Error: " + createStatus.ToString(); default: return "Could not register the user, please verify the provided information and try again."; } }
public string ErrorMessage(MembershipCreateStatus status, out string field) { switch (status) { case MembershipCreateStatus.DuplicateUserName: case MembershipCreateStatus.DuplicateEmail: field = "userID"; return "The email is already being used"; case MembershipCreateStatus.InvalidPassword: field = "password"; return "Invalid password"; case MembershipCreateStatus.InvalidEmail: case MembershipCreateStatus.InvalidUserName: field = "userID"; return "The email is invalid"; case MembershipCreateStatus.InvalidAnswer: field = String.Empty; return "The password retrieval answer provided is invalid"; case MembershipCreateStatus.InvalidQuestion: field = String.Empty; return "The password retrieval question provided is invalid"; case MembershipCreateStatus.ProviderError: case MembershipCreateStatus.UserRejected: default: field = String.Empty; return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; } }
public MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status, string name, string surname, string telephone, string country) { 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 = Assets.Encrypt(password), Email = email, Name = name, Surname = surname, Telephone = telephone }; new UserDa(databasecontext).Add(userObj); status = MembershipCreateStatus.Success; return GetUser(username, true); } status = MembershipCreateStatus.DuplicateUserName; return null; }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return null; } if (RequiresUniqueEmail && GetUserNameByEmail(email) != "") { status = MembershipCreateStatus.DuplicateEmail; return null; } MembershipUser u = GetUser(username, false); if (u == null) { DBAuthRepository _user = new DBAuthRepository(); _user.CreateUser(username, password, email); status = MembershipCreateStatus.Success; return GetUser(username, false); } else { status = MembershipCreateStatus.DuplicateUserName; } return null; }
public string GetErrorMessage(MembershipCreateStatus status) { switch (status) { case MembershipCreateStatus.DuplicateUserName: return "Username already exists. Please enter a different user name."; case MembershipCreateStatus.DuplicateEmail: return "A username for that e-mail address already exists. Please enter a different e-mail address."; case MembershipCreateStatus.InvalidPassword: return "The password provided is invalid. Please enter a valid password value of at least 6 characters."; case MembershipCreateStatus.InvalidEmail: return "The e-mail address provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidAnswer: return "The password retrieval answer provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidQuestion: return "The password retrieval question provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidUserName: return "The user name provided is invalid. Please check the value and try again."; case MembershipCreateStatus.ProviderError: return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; case MembershipCreateStatus.UserRejected: return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; default: return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { return CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, "", out status); }
public void TestCustomerMemembershipProvider_CreateOneUser_Success() { MembershipCreateStatus status = new MembershipCreateStatus(); Assert.IsNull(provider.CreateUser("foshan", "123456", "", "abc", "123", true, 4, out status)); Assert.AreEqual(status, MembershipCreateStatus.Success); Assert.AreEqual(repository.UserInformations.Count(), 2); }
public static string ErrorCodeToString(MembershipCreateStatus createStatus) { // See http://go.microsoft.com/fwlink/?LinkID=177550 for // a full list of status codes. switch (createStatus) { case MembershipCreateStatus.DuplicateUserName: case MembershipCreateStatus.DuplicateEmail: return "That e-mail address already exists. Please enter a different e-mail address."; case MembershipCreateStatus.InvalidPassword: return "The password provided is invalid. Please enter a valid password value."; case MembershipCreateStatus.InvalidEmail: return "The e-mail address provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidAnswer: return "The password retrieval answer provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidQuestion: return "The password retrieval question provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidUserName: return "The user name provided is invalid. Please check the value and try again."; case MembershipCreateStatus.ProviderError: return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; case MembershipCreateStatus.UserRejected: return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; default: return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { if (string.IsNullOrEmpty(username)) { status = MembershipCreateStatus.InvalidUserName; return null; } if (string.IsNullOrEmpty(password)) { status = MembershipCreateStatus.InvalidPassword; return null; } string hashedPassword = Crypto.HashPassword(password); if (hashedPassword.Length > 128) { status = MembershipCreateStatus.InvalidPassword; return null; } if (_userRepository.UserNameTaken(username)) { status = MembershipCreateStatus.DuplicateUserName; return null; } var newBorn = _userRepository.CreateUser(username, hashedPassword, email); status = MembershipCreateStatus.Success; //TODO: Schedule E-mail notification in case email is provided. Also set up a default user settings. return new MembershipUser(System.Web.Security.Membership.Provider.Name, newBorn.UserName, newBorn.Id, newBorn.Email, null, null, true, newBorn.IsLockedOut, newBorn.CreateDate.Value, newBorn.LastLoginDate.Value, newBorn.LastActivityDate.Value, newBorn.LastPasswordChangedDate.Value, newBorn.LastLockoutDate.Value); }
private static string ErrorCodeToString(MembershipCreateStatus createStatus) { switch (createStatus) { case MembershipCreateStatus.InvalidUserName: return "提供的用户名无效。请检查该值并重试。"; case MembershipCreateStatus.InvalidPassword: return "提供的密码无效。请输入有效的密码值。"; case MembershipCreateStatus.InvalidQuestion: return "提供的密码取回问题无效。请检查该值并重试。"; case MembershipCreateStatus.InvalidAnswer: return "提供的密码取回答案无效。请检查该值并重试。"; case MembershipCreateStatus.InvalidEmail: return "提供的电子邮件地址无效。请检查该值并重试。"; case MembershipCreateStatus.DuplicateUserName: return "用户名已存在。请输入不同的用户名。"; case MembershipCreateStatus.DuplicateEmail: return "该电子邮件地址的用户名已存在。请输入不同的电子邮件地址。"; case MembershipCreateStatus.UserRejected: return "已取消用户创建请求。请验证您的输入并重试。如果问题仍然存在,请与系统管理员联系。"; case MembershipCreateStatus.ProviderError: return "身份验证提供程序返回了错误。请验证您的输入并重试。如果问题仍然存在,请与系统管理员联系。"; } return "发生未知错误。请验证您的输入并重试。如果问题仍然存在,请与系统管理员联系。"; }
public void TestCustomerMemembershipProvider_CreateOneUser_Fail() { MembershipCreateStatus status = new MembershipCreateStatus(); Assert.IsNull(provider.CreateUser("admin", "123456", "", "abc", "123", true, 4, out status)); Assert.AreEqual(status, MembershipCreateStatus.DuplicateUserName); Assert.AreEqual(repository.UserInformations.Count(), 1); }
public static void LogUserCreateStatus(this ILog log, string username, MembershipCreateStatus status) { if (log.IsDebugEnabled) { log.DebugFormat("User with name \"{0}\" creation failed with status [{1}]", username, status); } }
public override MembershipUser CreateUser(string firstName, string lastName, string username, string password, string email, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { var entities = new BdJobsEntities(); if (entities.Users.Any(u => u.UserName == username)) { status = MembershipCreateStatus.DuplicateUserName; } else if (entities.Users.Any(u => u.Email == email)) { status = MembershipCreateStatus.DuplicateEmail; } else { string hPassword = GetSHA1HashData(password); var user = new User { UserName = username, Password = hPassword, RoleId = 3, FirstName = firstName, LastName = lastName, Email = email }; entities.Users.Add(user); entities.SaveChanges(); status = MembershipCreateStatus.Success; } return null; }
// // GET: /Account/ public string CreateAccount(string UserName, string Password, string Email, string securityQuestion, string AnswerSecurityQuestion) { System.Web.Security.MembershipCreateStatus UserCreated = new MembershipCreateStatus(); var a = Membership.CreateUser(UserName, Password, Email, securityQuestion, AnswerSecurityQuestion, true, out UserCreated); switch (UserCreated) { case MembershipCreateStatus.DuplicateEmail: { return ("این ایمیل قبلا ثبت شده است"); } case MembershipCreateStatus.DuplicateUserName: { return ("این نام کاربری قبلا انتخاب شده است"); } case MembershipCreateStatus.Success: { return ("Success"); } case MembershipCreateStatus.InvalidPassword: { return ("کلمه عبور معتبر نیست کلمه عبور حداقل باید 8 کاراکتر داشته باشد."); } default: { return ("به دلیل خطلای به وجود آمده ثبت نام انجام نشد"); } } }
private string ErrorCodeToString(MembershipCreateStatus status) { switch (status) { case MembershipCreateStatus.DuplicateUserName: return "Username already exists. Please enter a different user name."; case MembershipCreateStatus.DuplicateEmail: return "A user name for that e-mail address already exists. Please enter a different e-mail address."; case MembershipCreateStatus.InvalidPassword: return "The password provided is invalid. Please enter a valid password value."; case MembershipCreateStatus.InvalidEmail: return "The e-mail address provided is invalid. Please check the value and try again."; case MembershipCreateStatus.InvalidUserName: return "The user name provided is invalid. Please check the value and try again."; case MembershipCreateStatus.UserRejected: return "The user creation request has been canceled. Please verify your entry and try again." + "If the problem persists, please contact your system administrator."; default: return "An unknown error occurred. Please verify your entry and try again. If the problem persists, " + "please contact your system administrator."; } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { status = MembershipCreateStatus.ProviderError; return null; }
private static string ErrorCodeToString(MembershipCreateStatus createStatus) { string statusString = createStatus.ToString(); string resourceKey = "Exceptions.ErrorMessages.UserRegister.{0}".FormatWith(statusString); return ResourceManager.GetString(resourceKey); }
public static MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { if (!SecUtility.ValidateParameter(ref username, true, true, true, 0)) { status = MembershipCreateStatus.InvalidUserName; return null; } if (!SecUtility.ValidatePasswordParameter(ref password, 0)) { status = MembershipCreateStatus.InvalidPassword; return null; } if (!SecUtility.ValidateParameter(ref email, false, false, false, 0)) { status = MembershipCreateStatus.InvalidEmail; return null; } if (!SecUtility.ValidateParameter(ref passwordQuestion, false, true, false, 0)) { status = MembershipCreateStatus.InvalidQuestion; return null; } if (!SecUtility.ValidateParameter(ref passwordAnswer, false, true, false, 0)) { status = MembershipCreateStatus.InvalidAnswer; return null; } return Provider.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status); }
/// <summary> /// Adds a new user to the SQL Server membership database. /// </summary> /// <param name="username">The user name for the new user.</param> /// <param name="password">The password for the new user.</param> /// <param name="email">The e-mail address for the new user.</param> /// <param name="passwordQuestion">The password question for the new user.</param> /// <param name="passwordAnswer">The password answer for the new user.</param> /// <param name="isApproved">Whether or not the new user is approved to be validated.</param> /// <param name="providerUserKey">A <see cref="T:System.Guid"></see> that uniquely identifies the membership user in the SQL Server database.</param> /// <param name="status">One of the <see cref="T:System.Web.Security.MembershipCreateStatus"></see> values, indicating whether the user was created successfully.</param> /// <returns> /// A <see cref="T:System.Web.Security.MembershipUser"></see> object for the newly created user. If no user was created, this method returns null. /// </returns> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { MembershipUser oldUser = base.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status); if (status == MembershipCreateStatus.Success) { ProfileBase profile = ProfileBase.Create(oldUser.UserName); string firstName = (string)profile.GetPropertyValue("FirstName"); string lastName = (string)profile.GetPropertyValue("LastName"); string displayName = (string)profile.GetPropertyValue("DisplayName"); CustomMembershipUser newUser = new CustomMembershipUser(oldUser.ProviderName, oldUser.UserName, oldUser.ProviderUserKey, oldUser.Email, oldUser.PasswordQuestion, oldUser.Comment, oldUser.IsApproved, oldUser.IsLockedOut, oldUser.CreationDate, oldUser.LastLoginDate, oldUser.LastActivityDate, oldUser.LastPasswordChangedDate, oldUser.LastLockoutDate, displayName, firstName, lastName); return newUser; } return null; }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { if (!SecUtility.ValidateParameter(ref password, true, true, false, 0x80)) { status = MembershipCreateStatus.InvalidPassword; return null; } if (!SecUtility.ValidateParameter(ref username, true, true, true, 0x100)) { status = MembershipCreateStatus.InvalidUserName; return null; } if (!SecUtility.ValidateParameter(ref email, this.RequiresUniqueEmail, this.RequiresUniqueEmail, false, 0x100)) { status = MembershipCreateStatus.InvalidEmail; return null; } if (GetUser(username, false) != null) { status = MembershipCreateStatus.DuplicateUserName; return null; } if (GetUserNameByEmail(email) != null) { status = MembershipCreateStatus.DuplicateUserName; return null; } if (password.Length < this.MinRequiredPasswordLength) { status = MembershipCreateStatus.InvalidPassword; return null; } int num = 0; for (int i = 0; i < password.Length; i++) { if (!char.IsLetterOrDigit(password, i)) { num++; } } if (num < this.MinRequiredNonAlphanumericCharacters) { status = MembershipCreateStatus.InvalidPassword; return null; } if ((this.PasswordStrengthRegularExpression.Length > 0) && !Regex.IsMatch(password, this.PasswordStrengthRegularExpression)) { status = MembershipCreateStatus.InvalidPassword; return null; } ValidatePasswordEventArgs e = new ValidatePasswordEventArgs(username, password, true); this.OnValidatingPassword(e); if (e.Cancel) { status = MembershipCreateStatus.InvalidPassword; return null; } return CheckedCreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { bool created = false; MembershipUser membershipUser = null; try { created = membershipRepository.Add(username, password, email, out providerUserKey); membershipUser = new MembershipUser(this.Name, username, providerUserKey, email, null, null, true, true, DateTime.Today, DateTime.Today, DateTime.Today, DateTime.Today, DateTime.Today); if (created) { status = MembershipCreateStatus.Success; } else { status = MembershipCreateStatus.UserRejected; } } catch (Exception) { status = MembershipCreateStatus.DuplicateUserName; } return membershipUser; }
// Insert User vào Database. public void InsertUser(string username, string password, string email, int provinceID, int districtID, int detailprovinceID,int roleID,out MembershipCreateStatus status) { try { TTTV__Users user = new TTTV__Users(); TTTV__UserInformation info = new TTTV__UserInformation(); user.Username = username; user.Password = password; user.Email = email; user.RoleId = roleID; info.Username = username; info.ProvinceID = provinceID; info.DistrictID = districtID; info.ProvinceDetailID = detailprovinceID; db.TTTV__Users.AddObject(user); db.TTTV__UserInformation.AddObject(info); db.SaveChanges(); status = MembershipCreateStatus.Success; } catch (Exception ex) { status = MembershipCreateStatus.ProviderError; throw ex; } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { UserIdentity user = UserIdentity.Create(username, password, email, isApproved); status = MembershipCreateStatus.Success; return GetMembershipUser(user); }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { Page.Validate(); if (Page.IsValid) { StockplayMembershipProvider provider = (StockplayMembershipProvider) Membership.Provider; MembershipCreateStatus status = new MembershipCreateStatus(); provider.CreateUser(UserName.Text, Password.Text, Email.Text, txtLastname.Text, txtFirstname.Text,- 1, out status); if (status != MembershipCreateStatus.Success) { ErrorLabel.Visible = true; } else { ErrorLabel.Visible = false; TableRegister.Visible = false; FinishRegistration.Visible = true; try { SendMail(); } catch (Exception ex) { ILog sysLog = LogManager.GetLogger("Register"); sysLog.Error("Failed to send e-mail", ex); } } } } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, Object providerUserKey, out MembershipCreateStatus status) { MockMembershipUser user = new MockMembershipUser(); if (username.Equals("someUser") && password.Equals("goodPass") && email.Equals("email")) { status = MembershipCreateStatus.Success; } else { // the 'email' parameter contains the status we want to return to the user status = (MembershipCreateStatus)Enum.Parse(typeof(MembershipCreateStatus), email); } return(user); }
public abstract MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, Object providerUserKey, out MembershipCreateStatus status);
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { throw new NotSupportedException("The method or operation is not implemented."); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (RequiresUniqueEmail && !string.IsNullOrEmpty(GetUserNameByEmail(email))) { status = MembershipCreateStatus.DuplicateEmail; return(null); } MembershipUser u = GetUser(username, false); if (u == null) { DateTime createDate = DateTime.Now; try { BusinessProxy buisnessProxy = new BusinessProxy(); if (buisnessProxy.CreateAdminUser(username, password, email, ApplicationName)) { status = MembershipCreateStatus.Success; } else { status = MembershipCreateStatus.UserRejected; } } catch (Exception ex) { status = MembershipCreateStatus.ProviderError; string strEx = ex.ToString(); } return(GetUser(username, false)); } else { status = MembershipCreateStatus.DuplicateUserName; } return(null); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (RequiresUniqueEmail && GetUserNameByEmail(email) != "") { status = MembershipCreateStatus.DuplicateEmail; return(null); } MembershipUser u = GetUser(username, false); if (u == null) { int creationStatus; // Stores the status returned from the DAL (no of rows affected) DateTime createDate = DateTime.Now; string comment = ""; if (providerUserKey == null) { providerUserKey = Guid.NewGuid(); } else { if (!(providerUserKey is Guid)) { status = MembershipCreateStatus.InvalidProviderUserKey; return(null); } } IIdentity id = Thread.CurrentPrincipal.Identity; creationStatus = SecurityAdapters.MembershipAdapter.Insert((Guid)providerUserKey, // User Id username, // Username password, // Password email, // Email isApproved, // IsApproved comment, // Comments passwordQuestion, // passwordQuestion passwordAnswer, // passwordAnswer createDate, // Last Activity null, // Last Login createDate, // Last Password change date createDate, // Account Creation Date false, // Is online false, // Is Locked out null, // Last Lockedout date 0, // Failed password count null, // Failed password Window start 0, // Failed password answer attempt count null, // Failed password answer window start true, // Is Active null, // Profile Id id.Name, // Created By DateTime.Now, // Created At null, // Modified By null, // Modified At null, // Deleted By null); // Deleted At if (creationStatus > 0) { status = MembershipCreateStatus.Success; } else { status = MembershipCreateStatus.UserRejected; } } else { status = MembershipCreateStatus.DuplicateUserName; } return(null); }
/// <summary> /// This is going to create the user with the membership provider and check for validation /// </summary> /// <param name="contentItem"></param> /// <param name="status"></param> /// <returns></returns> /// <remarks> /// Depending on if the Umbraco membership provider is active or not, the process differs slightly: /// /// * If the umbraco membership provider is used - we create the membership user first with the membership provider, since /// it's the umbraco membership provider, this writes to the umbraco tables. When that is complete we re-fetch the IMember /// model data from the db. In this case we don't care what the provider user key is. /// * If we're using a non-umbraco membership provider - we check if there is a 'Member' member type - if so /// we create an empty IMember instance first (of type 'Member'), this gives us a unique ID (GUID) /// that we then use to create the member in the custom membership provider. This acts as the link between Umbraco data and /// the custom membership provider data. This gives us the ability to eventually have custom membership properties but still use /// a custom membership provider. If there is no 'Member' member type, then we will simply just create the membership provider member /// with no link to our data. /// /// If this is successful, it will go and re-fetch the IMember from the db because it will now have an ID because the Umbraco provider /// uses the umbraco data store - then of course we need to re-map it to the saved property values. /// </remarks> private MembershipUser CreateWithMembershipProvider(MemberSave contentItem, out MembershipCreateStatus status) { MembershipUser membershipUser; switch (MembershipScenario) { case MembershipScenario.NativeUmbraco: //We are using the umbraco membership provider, create the member using the membership provider first. var umbracoMembershipProvider = (UmbracoMembershipProviderBase)_provider; // TODO: We are not supporting q/a - passing in empty here membershipUser = umbracoMembershipProvider.CreateUser( contentItem.ContentTypeAlias, contentItem.Username, contentItem.Password.NewPassword, contentItem.Email, "", "", contentItem.IsApproved, Guid.NewGuid(), //since it's the umbraco provider, the user key here doesn't make any difference out status); break; case MembershipScenario.CustomProviderWithUmbracoLink: //We are using a custom membership provider, we'll create an empty IMember first to get the unique id to use // as the provider user key. //create it - this persisted item has already been set in the MemberBinder based on the 'Member' member type: Services.MemberService.Save(contentItem.PersistedContent); // TODO: We are not supporting q/a - passing in empty here membershipUser = _provider.CreateUser( contentItem.Username, contentItem.Password.NewPassword, contentItem.Email, "TEMP", //some membership provider's require something here even if q/a is disabled! "TEMP", //some membership provider's require something here even if q/a is disabled! contentItem.IsApproved, contentItem.PersistedContent.Key, //custom membership provider, we'll link that based on the IMember unique id (GUID) out status); break; case MembershipScenario.StandaloneCustomProvider: // we don't have a member type to use so we will just create the basic membership user with the provider with no // link back to the umbraco data var newKey = Guid.NewGuid(); // TODO: We are not supporting q/a - passing in empty here membershipUser = _provider.CreateUser( contentItem.Username, contentItem.Password.NewPassword, contentItem.Email, "TEMP", //some membership provider's require something here even if q/a is disabled! "TEMP", //some membership provider's require something here even if q/a is disabled! contentItem.IsApproved, newKey, out status); break; default: throw new ArgumentOutOfRangeException(); } // TODO: Localize these! switch (status) { case MembershipCreateStatus.Success: //map the key back contentItem.Key = membershipUser.ProviderUserKey.TryConvertTo <Guid>().Result; contentItem.PersistedContent.Key = contentItem.Key; //if the comments are there then we need to save them if (contentItem.Comments.IsNullOrWhiteSpace() == false) { membershipUser.Comment = contentItem.Comments; _provider.UpdateUser(membershipUser); } RefetchMemberData(contentItem, LookupType.ByUserName); break; case MembershipCreateStatus.InvalidUserName: ModelState.AddPropertyError( new ValidationResult("Invalid user name", new[] { "value" }), string.Format("{0}login", Constants.PropertyEditors.InternalGenericPropertiesPrefix)); break; case MembershipCreateStatus.InvalidPassword: ModelState.AddPropertyError( new ValidationResult("Invalid password", new[] { "value" }), string.Format("{0}password", Constants.PropertyEditors.InternalGenericPropertiesPrefix)); break; case MembershipCreateStatus.InvalidQuestion: case MembershipCreateStatus.InvalidAnswer: throw new NotSupportedException("Currently the member editor does not support providers that have RequiresQuestionAndAnswer specified"); case MembershipCreateStatus.InvalidEmail: ModelState.AddPropertyError( new ValidationResult("Invalid email", new[] { "value" }), string.Format("{0}email", Constants.PropertyEditors.InternalGenericPropertiesPrefix)); break; case MembershipCreateStatus.DuplicateUserName: ModelState.AddPropertyError( new ValidationResult("Username is already in use", new[] { "value" }), string.Format("{0}login", Constants.PropertyEditors.InternalGenericPropertiesPrefix)); break; case MembershipCreateStatus.DuplicateEmail: ModelState.AddPropertyError( new ValidationResult("Email address is already in use", new[] { "value" }), string.Format("{0}email", Constants.PropertyEditors.InternalGenericPropertiesPrefix)); break; case MembershipCreateStatus.InvalidProviderUserKey: ModelState.AddPropertyError( //specify 'default' just so that it shows up as a notification - is not assigned to a property new ValidationResult("Invalid provider user key"), "default"); break; case MembershipCreateStatus.DuplicateProviderUserKey: ModelState.AddPropertyError( //specify 'default' just so that it shows up as a notification - is not assigned to a property new ValidationResult("Duplicate provider user key"), "default"); break; case MembershipCreateStatus.ProviderError: case MembershipCreateStatus.UserRejected: ModelState.AddPropertyError( //specify 'default' just so that it shows up as a notification - is not assigned to a property new ValidationResult("User could not be created (rejected by provider)"), "default"); break; default: throw new ArgumentOutOfRangeException(); } return(membershipUser); }
/// <summary> /// The migrate users from <paramref name="dataTable"/>. /// </summary> /// <param name="approved"> /// The approved. /// </param> /// <param name="dataTable"> /// The dataTable. /// </param> private static void MigrateUsersFromDataTable(bool approved, [NotNull] DataTable dataTable) { // is this the Yaf membership provider? bool isYafProvider = YafContext.Current.Get <MembershipProvider>().Name == "YafMembershipProvider"; bool isLegacyYafDB = dataTable.Columns.Contains("Location"); var userRows = dataTable.AsEnumerable(); Parallel.ForEach( userRows, row => { // skip the guest user if (row.Field <bool>("IsGuest")) { return; } // validate that name and email are available... if (row["Name"].IsNullOrEmptyDBField() || row["Email"].IsNullOrEmptyDBField()) { return; } string name = row.Field <string>("Name").Trim(); string email = row.Field <string>("Email").ToLower().Trim(); // clean up the name by removing commas... name = name.Replace(",", string.Empty); // verify this user & email are not empty if (!name.IsSet() || !email.IsSet()) { return; } MembershipUser user = UserMembershipHelper.GetUser(name, false); if (user == null) { MembershipCreateStatus status = MigrateCreateUser( name, email, "Your email in all lower case", email, approved, out user); if (status != MembershipCreateStatus.Success) { YafContext.Current.Get <ILogger>() .Log(0, "MigrateUsers", "Failed to create user {0}: {1}".FormatWith(name, status)); } else { // update the YAF table with the ProviderKey -- update the provider table if this is the YAF provider... LegacyDb.user_migrate(row["UserID"], user.ProviderUserKey, isYafProvider); user.Comment = "Migrated from YetAnotherForum.NET"; YafContext.Current.Get <MembershipProvider>().UpdateUser(user); if (!isYafProvider) { /* Email generated password to user * System.Text.StringBuilder msg = new System.Text.StringBuilder(); * msg.AppendFormat( "Hello {0}.\r\n\r\n", name ); * msg.AppendFormat( "Here is your new password: {0}\r\n\r\n", password ); * msg.AppendFormat( "Visit {0} at {1}", ForumName, ForumURL ); * * YAF.Classes.Data.DB.mail_create( ForumEmail, user.Email, "Forum Upgrade", msg.ToString() ); */ } } if (isLegacyYafDB) { // copy profile data over... YafUserProfile userProfile = YafUserProfile.GetProfile(name); if (dataTable.Columns.Contains("AIM") && !row["AIM"].IsNullOrEmptyDBField()) { userProfile.AIM = row["AIM"].ToString(); } if (dataTable.Columns.Contains("YIM") && !row["YIM"].IsNullOrEmptyDBField()) { userProfile.YIM = row["YIM"].ToString(); } if (dataTable.Columns.Contains("MSN") && !row["MSN"].IsNullOrEmptyDBField()) { userProfile.MSN = row["MSN"].ToString(); } if (dataTable.Columns.Contains("ICQ") && !row["ICQ"].IsNullOrEmptyDBField()) { userProfile.ICQ = row["ICQ"].ToString(); } if (dataTable.Columns.Contains("RealName") && !row["RealName"].IsNullOrEmptyDBField()) { userProfile.RealName = row["RealName"].ToString(); } if (dataTable.Columns.Contains("Occupation") && !row["Occupation"].IsNullOrEmptyDBField()) { userProfile.Occupation = row["Occupation"].ToString(); } if (dataTable.Columns.Contains("Location") && !row["Location"].IsNullOrEmptyDBField()) { userProfile.Location = row["Location"].ToString(); } if (dataTable.Columns.Contains("Homepage") && !row["Homepage"].IsNullOrEmptyDBField()) { userProfile.Homepage = row["Homepage"].ToString(); } if (dataTable.Columns.Contains("Interests") && !row["Interests"].IsNullOrEmptyDBField()) { userProfile.Interests = row["Interests"].ToString(); } if (dataTable.Columns.Contains("Weblog") && !row["Weblog"].IsNullOrEmptyDBField()) { userProfile.Blog = row["Weblog"].ToString(); } if (dataTable.Columns.Contains("Gender") && !row["Gender"].IsNullOrEmptyDBField()) { userProfile.Gender = row["Gender"].ToType <int>(); } userProfile.Save(); } } else { // just update the link just in case... LegacyDb.user_migrate(row["UserID"], user.ProviderUserKey, false); } // setup roles for this user... using (DataTable dtGroups = LegacyDb.usergroup_list(row["UserID"])) { foreach (DataRow rowGroup in dtGroups.Rows) { AddUserToRole(user.UserName, rowGroup["Name"].ToString()); } } }); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ServerModel.User.Create(username, password, email); var res = ServerModel.User.ByLogin(username); status = res != null ? MembershipCreateStatus.Success : MembershipCreateStatus.UserRejected; return(res); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { status = CreateUser(username, password, email, null, isApproved); if (status == MembershipCreateStatus.Success) { return(GetUser(username, false)); } return(null); }
/// <summary> /// To override the CreateUser functionality of the MembershipProvider and implement of its own. /// Adds a new membership user to the data source. /// </summary> /// <param name="username">The user name for the new user.</param> /// <param name="password">The password for the new user.</param> /// <param name="email">The e-mail address for the new user.</param> /// <param name="passwordQuestion">The password question for the new user.</param> /// <param name="passwordAnswer">The password answer for the new user.</param> /// <param name="isApproved">Whether or not the new user is approved to be validated.</param> /// <param name="providerUserKey">The unique identifier from the membership data source for the user.</param> /// <param name="status">A MembershipCreateStatus enumeration value indicating whether the user was created successfully.</param> /// <returns>A MembershipUser object populated with the information for the newly created user.</returns> 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 { UserNameTxt = username, PasswordTxt = GetMd5Hash(password), EmailTxt = email }; using (var usersContext = new UsersContext()) { usersContext.AddUser(userObj); } status = MembershipCreateStatus.Success; return(GetUser(username, true)); } status = MembershipCreateStatus.DuplicateUserName; return(null); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { throw new System.NotImplementedException(); }
protected void buttonCreateAccount_OnClick(object sender, EventArgs e) { bool accountCreated = false; Database.Account account = null; if (String.IsNullOrEmpty(tbUserName.Text) || String.IsNullOrEmpty(tbPassword.Text) || String.IsNullOrEmpty(tbEmail.Text) || String.IsNullOrEmpty(tbName.Text) || String.IsNullOrEmpty(tbAddress.Text) || String.IsNullOrEmpty(tbPostal.Text)) { Utils.displayStatus(ref labelStatusCreate, Color.Red, "Mangler informasjon"); return; } if (!Utils.isValidEmail(tbEmail.Text)) { Utils.displayStatus(ref labelStatusCreate, Color.Red, "Epost adresse har ugyldig format"); return; } if (tbPassword.Text.Length < Membership.MinRequiredPasswordLength) { Utils.displayStatus(ref labelStatusCreate, Color.Red, "Passordet må ha minst " + Membership.MinRequiredPasswordLength.ToString() + " tegn"); return; } if (tbPassword.Text != tbConfirmPassword.Text) { Utils.displayStatus(ref labelStatusCreate, Color.Red, "Passordene er ikke like"); return; } if (String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServer"]) || String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServerPort"])) { Utils.displayStatus(ref labelStatusCreate, Color.Red, "Innstillinger for mailserver mangler"); return; } Database.Configuration configuration = new Database.Configuration(); try { Membership.ApplicationName = "/Lorakon"; Database.Interface.open(); if (!configuration.select_all_where_name("Default")) { Utils.displayStatus(ref labelStatusCreate, Color.Red, "Finner ikke konfigurasjon"); return; } if (Database.Account.accountNameExists(tbName.Text)) { Utils.displayStatus(ref labelStatusCreate, Color.Red, "Navnet " + tbName.Text + " finnes allerede"); Membership.ApplicationName = "/LorakonAdmin"; return; } MembershipCreateStatus status = new MembershipCreateStatus(); MembershipUser user = Membership.CreateUser(tbUserName.Text, tbPassword.Text, tbEmail.Text, "question", "answer", true, out status); if (user == null) { Utils.displayStatus(ref labelStatusCreate, Color.Red, Utils.getErrorMessage(status)); Membership.ApplicationName = "/LorakonAdmin"; return; } account = new Database.Account( Guid.Empty, tbName.Text, tbContact.Text, tbAddress.Text, "Field not active", tbPostal.Text, tbEmail.Text, tbPhone.Text, tbMobile.Text, tbFax.Text, tbWebsite.Text, true, "", 0, 0, ""); accountCreated = account.insert_with_ID((Guid)user.ProviderUserKey); if (!String.IsNullOrEmpty(hiddenPendingUser.Value) && hiddenPendingUser.Value != Guid.Empty.ToString()) { Database.PendingAccount pendingAccount = new Database.PendingAccount(); if (pendingAccount.select_all_where_ID(new Guid(hiddenPendingUser.Value))) { pendingAccount.delete_by_ID(); } } ddUsers.DataBind(); ddAccountsA.DataBind(); } catch (Exception ex) { Membership.DeleteUser(tbUserName.Text); if (accountCreated) { account.delete_by_ID(); } Utils.displayStatus(ref labelStatusCreate, Color.Red, ex.Message); return; } finally { Database.Interface.close(); Membership.ApplicationName = "/LorakonAdmin"; } string userName = tbUserName.Text; string receip = tbEmail.Text; string mailTitle = "Ny LORAKON konto tildelt"; string mailBody = @"Velkommen som bruker av LORAKON nettjenester.<br> Hver bedrift får kun tildelt ett brukernavn og passord. Dersom bedriften har flere ansatte som skal være delaktige i nettverket må brukernavnet og passordet deles mellom disse.<br> Deres bedrift har fått tildelt følgende brukernavn: " + tbUserName.Text + " og passord: " + tbPassword.Text + @".<br> For å logge inn på sidene kan følgende lenke benyttes: <a href='" + ConfigurationManager.AppSettings["LorakonURL"] + "'>" + ConfigurationManager.AppSettings["LorakonURL"] + @"</a><br> NB! Brukernavnet er låst, men brukeren kan selv endre passordet ved behov via siden 'Bedriftens konto'<br><br> Hilsen Statens Strålevern"; clearAllCreateFields(); ddPendingUsers.DataBind(); ddUsers.DataBind(); ddAccountsA.DataBind(); if (ConfigurationManager.AppSettings["UseEmail"] == "yes") { try { MailMessage mail = new MailMessage(); mail.To.Add(receip); mail.From = new MailAddress(configuration.RingtestAdminEmail); mail.IsBodyHtml = true; mail.BodyEncoding = System.Text.Encoding.Default; mail.Subject = mailTitle; mail.Body = mailBody; SmtpClient smtp = new SmtpClient(ConfigurationManager.AppSettings["MailServer"], Convert.ToInt32(ConfigurationManager.AppSettings["MailServerPort"])); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.Send(mail); Utils.displayStatus(ref labelStatusCreate, Color.SeaGreen, "Bruker " + userName + " ble opprettet, og e-post er sendt til " + receip); } catch (Exception ex) { Utils.displayStatus(ref labelStatusCreate, Color.Red, ex.Message); } } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { status = MembershipCreateStatus.ProviderError; return(null); }
/// <summary> /// Adds a new membership user to the data source. /// </summary> /// <returns> /// A <see cref="T:System.Web.Security.MembershipUser"/> object populated with the information for the newly created user. /// </returns> /// <param name="username">The user name for the new user. </param><param name="password">The password for the new user. </param><param name="email">The e-mail address for the new user.</param><param name="passwordQuestion">The password question for the new user.</param><param name="passwordAnswer">The password answer for the new user</param><param name="isApproved">Whether or not the new user is approved to be validated.</param><param name="providerUserKey">The unique identifier from the membership data source for the user.</param><param name="status">A <see cref="T:System.Web.Security.MembershipCreateStatus"/> enumeration value indicating whether the user was created successfully.</param> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { CheckRestaurantMembershipUser(); return(CreateUser(RestaurantMembershipUser, out status, null, null)); }
/// <summary> /// Creates a user. /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <param name="email"></param> /// <param name="passwordQuestion"></param> /// <param name="passwordAnswer"></param> /// <param name="isApproved"></param> /// <param name="providerUserKey"></param> /// <param name="status"></param> /// <returns></returns> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (String.IsNullOrEmpty(username)) { status = MembershipCreateStatus.InvalidUserName; return(null); } if (String.IsNullOrEmpty(password) || password.Length < MinRequiredPasswordLength) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (RequiresUniqueEmail && !String.IsNullOrEmpty(GetUserNameByEmail(email))) { status = MembershipCreateStatus.DuplicateEmail; return(null); } var existingUser = GetUser(username, false); if (existingUser == null) { if (providerUserKey == null) { providerUserKey = Guid.NewGuid(); } using (var dataStore = new ProductStore(SqlHelper.Current.GetConnection(_connectionString))) { User newUser = new User() { ApplicationName = ApplicationName, Id = (Guid)providerUserKey, CreationDate = DateTime.Now, Email = email, FailedPasswordAnswerAttemptCount = 0, FailedPasswordAnswerAttemptWindowStart = null, FailedPasswordAttemptCount = 0, FailedPasswordAttemptWindowStart = null, IsApproved = 1, IsLockedOut = 0, IsOnline = 0, LastActivityDate = null, LastLockedOutDate = null, LastLoginDate = null, LastPasswordChangedDate = null, Password = password, PasswordAnswer = passwordAnswer, PasswordQuestion = passwordQuestion, Username = username }; MembershipUser member = GetMembershipUserFromData(newUser); dataStore.User.InsertOnSubmit(newUser); dataStore.SubmitChanges(); status = MembershipCreateStatus.Success; return(member); } } else { status = MembershipCreateStatus.DuplicateUserName; return(null); } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ValidatePasswordEventArgs 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); } MembershipUser user = GetUser(username, true); if (user == null) { using (var context = new AccountServices()) { var newUserReg = new Registration() { ActivationCode = Guid.NewGuid(), Username = username, PasswordByte = EncodePasswordBytes(password), FirstName = _newUserFirstName, LastName = _newUserLastName, Email = email }; context.CreateNewUser(newUserReg); } status = MembershipCreateStatus.Success; return(GetUser(username, true)); } else { status = MembershipCreateStatus.DuplicateUserName; } return(null); }
public override MembershipUser CreateUser(string userName, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { email = email.ToLowerInvariant(); status = MembershipCreateStatus.Success; var args = new ValidatePasswordEventArgs(email, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (!email.IsValidEmail()) { status = MembershipCreateStatus.InvalidEmail; return(null); } var membershipUser = GetUser(userName, email); if (membershipUser != null) { if (membershipUser.UserName == userName) { status = MembershipCreateStatus.DuplicateUserName; } if (membershipUser.Email == email) { status = MembershipCreateStatus.DuplicateEmail; } return(null); } var user = new User { Name = userName, Email = email, Password = Crypto.HashPassword(password), CreationDate = DateTime.UtcNow, Comments = new List <Comment>(), Downloads = new List <Download>(), Files = new List <File>(), FilesWithPermissions = new List <File>(), News = new List <News>(), Roles = new List <Role>(), }; _context.UserRepository.Add(user); var role = _context.RoleRepository.GetById(3); if (role != null) { user.Roles.Add(role); } try { _context.Commit(); } catch (DataException) { status = MembershipCreateStatus.ProviderError; return(null); } membershipUser = GetUser(userName, email); return(membershipUser); }
public MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { using (var ctx = new BatchJobDbContext()) { var user = UserEntity.Create(username, password, email); ctx.SaveChanges(); MembershipUser membershipUser = user.ToMembershipUser(); status = MembershipCreateStatus.Success; return(membershipUser); } }
public MembershipUser CreateUser(string userName, string password, string email, out MembershipCreateStatus status) { if (String.IsNullOrEmpty(userName)) { throw new ArgumentException("Value cannot be null or empty.", "userName"); } if (String.IsNullOrEmpty(password)) { throw new ArgumentException("Value cannot be null or empty.", "password"); } if (String.IsNullOrEmpty(email)) { throw new ArgumentException("Value cannot be null or empty.", "email"); } MembershipUser user = _provider.CreateUser(userName, password, email, null, null, true, null, out status); return(user); }
// // MembershipProvider.CreateCardHolder // public MembershipUser CreateCardHolder( CreateCardHolderModel WebData, out MembershipCreateStatus status) { MembershipUser user = null; // generate this user's username WebData.UserName = GenerateUserName(WebData.FirstName, WebData.LastName); // insure uniqueness by email address if (GetCardHolderByEmail(WebData.email) != "") { status = MembershipCreateStatus.DuplicateEmail; return(null); } // verify unique cardholder phone number ICardHolderRepository CardHolderRepositoryI = new CardHolderRepository(); CardHolder CH = CardHolderRepositoryI.GetCardHolderByPhoneNumber(WebData.CellPhoneNumber); if (CH != null) { status = MembershipCreateStatus.DuplicateProviderUserKey; return(null); } using (GiftEntities GiftEntity = new GiftEntities()) { ICardHolderRepository CardHolderRepository = new CardHolderRepository(GiftEntity); ICardRepository CardService = new CardRepository(GiftEntity); // get the information for each card to be registered if (WebData.Card1 != null) { Card tCard = CardService.GetCard(WebData.Card1); if (tCard != null) { WebData.Card1GUID = tCard.CardGUID; } } if (WebData.Card2 != null) { Card tCard = CardService.GetCard(WebData.Card2); if (tCard != null) { WebData.Card2GUID = tCard.CardGUID; } } if (WebData.Card3 != null) { Card tCard = CardService.GetCard(WebData.Card3); if (tCard != null) { WebData.Card3GUID = tCard.CardGUID; } } if (WebData.Card4 != null) { Card tCard = CardService.GetCard(WebData.Card4); if (tCard != null) { WebData.Card4GUID = tCard.CardGUID; } } if (WebData.Card5 != null) { Card tCard = CardService.GetCard(WebData.Card5); if (tCard != null) { WebData.Card5GUID = tCard.CardGUID; } } // create the cardholder record if (!CardHolderRepository.CreateCardHolder(WebData)) { status = MembershipCreateStatus.UserRejected; } else { status = MembershipCreateStatus.Success; user = _provider.CreateUser(WebData.UserName, WebData.Password, WebData.email, WebData.passwordQuestion, WebData.passwordAnswer, WebData.isApproved, WebData.providerUserKey, out status); AddUserToCardHolderRole(WebData.UserName); if (WebData.Card1 != null) { if (WebData.Card1.Length > 0) { CardService.RegisterCard(WebData.ID, WebData.CardHolderGUID, WebData.Card1); } } if (WebData.Card2 != null) { if (WebData.Card2.Length > 0) { CardService.RegisterCard(WebData.ID, WebData.CardHolderGUID, WebData.Card2); } } if (WebData.Card3 != null) { if (WebData.Card3.Length > 0) { CardService.RegisterCard(WebData.ID, WebData.CardHolderGUID, WebData.Card3); } } if (WebData.Card4 != null) { if (WebData.Card4.Length > 0) { CardService.RegisterCard(WebData.ID, WebData.CardHolderGUID, WebData.Card4); } } if (WebData.Card5 != null) { if (WebData.Card5.Length > 0) { CardService.RegisterCard(WebData.ID, WebData.CardHolderGUID, WebData.Card5); } } } } return(user); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { N2.Security.Items.User u = Bridge.GetUser(username); if (u != null) { status = MembershipCreateStatus.DuplicateUserName; return(null); } if (string.IsNullOrEmpty(username)) { status = MembershipCreateStatus.InvalidUserName; return(null); } if (string.IsNullOrEmpty(password)) { status = MembershipCreateStatus.InvalidPassword; return(null); } // TODO: RequiresUniqueEmail validation var args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { throw new MembershipCreateUserException("Create user cancelled", args.FailureInformation); } status = MembershipCreateStatus.Success; u = Bridge.CreateUser(username, ToStoredPassword(password), // JH email, passwordQuestion, passwordAnswer, isApproved, providerUserKey); Cache.Expire(); MembershipUser m = u.GetMembershipUser(this.Name); return(m); }
public void CreateUser(string firstName, string lastName, string email, string password, string company, string address, string phone, out MembershipCreateStatus createStatus) { Account account = new Account(); account.Email = email; account.Salt = BCrypt.Net.BCrypt.GenerateSalt(); account.Password = BCrypt.Net.BCrypt.HashPassword(password, account.Salt); account.CreatedDate = DateTime.Now; account.FirstName = firstName; account.LastName = lastName; account.Company = company; account.Address = address; account.Phone = phone; account.Administrator = false; AccountRepository.Save(account); createStatus = MembershipCreateStatus.Success; }
/// <summary> /// Creates a new user store he/she in the XML file /// </summary> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { ReadMembershipDataStore(); if (_Users.ContainsKey(username)) { throw new NotSupportedException("The username is already in use. Please choose another username."); } XmlDocument doc = new XmlDocument(); doc.Load(_XmlFileName); XmlNode xmlUserRoot = doc.CreateElement("User"); XmlNode xmlUserName = doc.CreateElement("UserName"); XmlNode xmlPassword = doc.CreateElement("Password"); XmlNode xmlEmail = doc.CreateElement("Email"); XmlNode xmlLastLoginTime = doc.CreateElement("LastLoginTime"); xmlUserName.InnerText = username; string passwordPrep; if (passwordFormat == MembershipPasswordFormat.Hashed) { passwordPrep = Utils.HashPassword(password); } else { passwordPrep = password; } xmlPassword.InnerText = passwordPrep; xmlEmail.InnerText = email; xmlLastLoginTime.InnerText = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); xmlUserRoot.AppendChild(xmlUserName); xmlUserRoot.AppendChild(xmlPassword); xmlUserRoot.AppendChild(xmlEmail); xmlUserRoot.AppendChild(xmlLastLoginTime); doc.SelectSingleNode("Users").AppendChild(xmlUserRoot); doc.Save(_XmlFileName); status = MembershipCreateStatus.Success; MembershipUser user = new MembershipUser(Name, username, username, email, passwordQuestion, passwordPrep, isApproved, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.MaxValue); _Users.Add(username, user); return(user); }
public string GetErrorMessage(MembershipCreateStatus status) { switch (status) { case MembershipCreateStatus.DuplicateUserName: return("Username already exists. Please enter a different user name."); case MembershipCreateStatus.DuplicateEmail: return("A username for that e-mail address already exists. Please enter a different e-mail address."); case MembershipCreateStatus.InvalidPassword: return("Password should be of minimum of 6 characters and should be alphanumeric"); case MembershipCreateStatus.InvalidEmail: return("The e-mail address provided is invalid. Please check the value and try again."); case MembershipCreateStatus.InvalidAnswer: return("The password retrieval answer provided is invalid. Please check the value and try again."); case MembershipCreateStatus.InvalidQuestion: return("The password retrieval question provided is invalid. Please check the value and try again."); case MembershipCreateStatus.InvalidUserName: return("The user name provided is invalid. Please check the value and try again."); case MembershipCreateStatus.ProviderError: return("The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."); case MembershipCreateStatus.UserRejected: return("The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."); case MembershipCreateStatus.Success: ProfileCommon pc = (ProfileCommon)ProfileCommon.Create(Username.Text, true); Roles.AddUserToRole(Username.Text, "user"); pc.FirstName = firstname.Text; pc.Phone = phone.Text; pc.Mobile = mobile.Text; pc.Address = address1.Text; pc.City = DropDownList1.SelectedItem.Text; pc.State = Region.Text; pc.Save(); mailing mail = new mailing(); string msg1 = "Congratulations you are registered successfully with Fresh Farm Prawns" + "<br>" + "Username: "******"<br>" + "Password: "******"<br>" + "Regards ," + "<br>" + "Admin" + ", " + "Fresh Farm Prawns"; mail.mymail(Email.Text, msg1, "User Registration"); sms s = new sms(); s.SendSMS(mobile.Text, "Dear " + firstname.Text + " your freshprawnsonline account has been created. Username:"******" Password:"******""; //Password.Text = ""; //Repassword.Text = ""; //firstname.Text = ""; //address1.Text = ""; //DropDownList1.SelectedIndex = 0; //Region.Text = ""; //Email.Text = ""; //mobile.Text = ""; //phone.Text = ""; //CheckBox2.Checked = false; // address1.Text = city.Text = answer.Text = Region.Text = Email.Text = firstname.Text = lastname.Text = phone.Text = mobile.Text = Username.Text = ""; return("Registered Successfully"); default: return("An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."); } }
public MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { return(Membership.Provider.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status)); }
protected void btnAdd_Click(object sender, EventArgs e) { /////Add Exception handilng try catch change by vishal 21-05-2012 try { #region Declaration of Local Variables int siteid, priorityid; int SLAid = 0; int createdbyid = 0; int requesterid = 0; int FlagInsert; int requesttypeid; string userName; bool FlagUserStatus; FlagUserStatus = true; FlagInsert = 0; #endregion #region Fetch Current User MembershipUser User = Membership.GetUser(); userName = User.UserName.ToString(); #endregion #region Get Current Site and Priority id siteid = Convert.ToInt32(drpSite.SelectedValue); priorityid = Convert.ToInt32(drpPriority.SelectedValue); #endregion #region Get SLAid on the basis of siteid and Priority id if (siteid != 0 && priorityid != 0) { SLAid = objIncident.Get_By_SLAid(siteid, priorityid); requesttypeid = Convert.ToInt32(Resources.MessageResource.strRequestTypeId.ToString()); if (requesttypeid == Convert.ToInt32(drpRequestType.SelectedValue)) { SLAid = 0; } } #endregion if (userName != "") { #region Find Userid of User who Created this Request objOrganization = objOrganization.Get_Organization(); objUser = objUser.Get_UserLogin_By_UserName(userName, objOrganization.Orgid); if (objUser.Userid != 0) { createdbyid = objUser.Userid; } #endregion #region Find Userid of User who is Requesting to log a call #region If User Already Exist if (Session["UserCreate"].ToString() == "Exist") { objUser = objUser.Get_UserLogin_By_UserName_Ex(txtUsername.Text.ToString().Trim(), objOrganization.Orgid); if (objUser.Userid != 0) { requesterid = objUser.Userid; } } #endregion #region If New User is to be Created else if (Session["UserCreate"].ToString() == "create") { string varEmail = ""; string varRoleName = Resources.MessageResource.BasicUserRole.ToString(); if (txtEmail.Text == "") { varEmail = Resources.MessageResource.errMemshipCreateUserEmail.ToString(); } else { varEmail = txtEmail.Text; } int roleid = objRole.Get_By_RoleName(varRoleName); int status; objOrganization = objOrganization.Get_Organization(); UserLogin_mst objUserLogin = new UserLogin_mst(); objUserLogin.Username = txtUsername.Text.ToString(); objUserLogin.Password = Resources.MessageResource.strDefaultPassword.ToString(); objUserLogin.Roleid = roleid; objUserLogin.Orgid = objOrganization.Orgid; objUserLogin.ADEnable = false; objUserLogin.Enable = true; objUserLogin.Createdatetime = DateTime.Now.ToString(); status = objUserLogin.Insert(); if (status == 1) { // Create Mstatus field to send in Membership.CreateUser function as Out Variable for creating Membership User database MembershipCreateStatus Mstatus = default(MembershipCreateStatus); // Call Membership.CreateUser function to create Membership user Membership.CreateUser(txtUsername.Text.ToString().Trim(), Resources.MessageResource.strDefaultPassword.ToString(), varEmail, "Project Name", "Helpdesk", true, out Mstatus); // Call Roles.AddUserToRole Function to Add User To Role Roles.AddUserToRole(txtUsername.Text.ToString().Trim(), varRoleName); // Declare Local Variable Userid to fetch userid of newly created user // Create Object objUserLogin of UserLogin_mst()Class objUserLogin = new UserLogin_mst(); // Fetch userid of Newly created user and assign to local variable userid by calling function objUserLogin.Get_By_UserName requesterid = objUserLogin.Get_By_UserName(txtUsername.Text.ToString().Trim(), objOrganization.Orgid); // If userid not equal to 0 then we get userid of Newly created user otherwise error Occured ContactInfo_mst objContactInfo = new ContactInfo_mst(); objContactInfo.Userid = requesterid; objContactInfo.Emailid = varEmail; objContactInfo.Firstname = txtUsername.Text.ToString(); objContactInfo.Lastname = txtUsername.Text.ToString(); objContactInfo.Insert(); /// added by vishal 18-05-2012 Session["UserCreate"] = ""; } } #endregion #region If User is Not to be Created else if (Session["UserCreate"].ToString() == "notcreate") { FlagUserStatus = false; } #endregion #endregion } objIncident.Title = txtTitle.Text.Trim(); //objIncident.Title = drpTitle.SelectedItem.Text; // objIncident.Title = txtTitle.Text.Trim() + "-" + Txtextension.Text.Trim(); //objIncident.Title = txtTitle.Text.Trim(); if (Txtextension.Text != "") { string extension = Txtextension.Text; Int64 vOut = Convert.ToInt64(extension); //int vOut = Convert.ToInt32(extension); objIncident.Extension = vOut; } //start changed by prachi-19thmarch if (drpAMCcall.SelectedItem.Text == "NO") { objIncident.AMCCall = false; } else if (drpAMCcall.SelectedItem.Text == "YES") { objIncident.AMCCall = true; } //end objIncident.Slaid = SLAid; objIncident.Createdbyid = createdbyid; objIncident.Requesterid = requesterid; objIncident.Siteid = siteid; objIncident.Description = txtDescription.Text.ToString().Trim(); objIncident.Deptid = Convert.ToInt32(drpDepartment.SelectedValue); objIncident.Createdatetime = DateTime.Now.ToString(); objIncident.Modeid = Convert.ToInt32(drpMode.SelectedValue); //objIncident.ExternalTicketNo = txtExternalTicket.Text.ToString().Trim(); if (FlagUserStatus == true) { FlagInsert = objIncident.Insert(); #region Save Assetid and incident id in incidenttoassetmaaping // Get Asset and Incident Id for incidenttoassetmaaping objOrganization = objOrganization.Get_Organization(); objUser = objUser.Get_UserLogin_By_UserName_Ex(txtUsername.Text.ToString().Trim(), objOrganization.Orgid); int userid = Convert.ToInt32(objUser.Userid); int tempuser1 = Convert.ToInt32(Session["tempuser1"]); if (tempuser1 == 1) { assetid = Convert.ToInt32(Session["assetid"]); } else { assetid = Convert.ToInt32(objusertoasset.Get_AssetId_By_UserId(userid)); } int incid = Convert.ToInt32(objIncident.Get_TopIncidentId()); if (txtassignasset.Text != "") { //assetid = Convert.ToInt32(txtassignasset.Text); if (assetid != 0) { objincidenttoasset.Insert(incid, assetid); objusertoasset.Insert(userid, assetid, objUser.City, objUser.Company); Session.Abandon(); } } #endregion } if (FlagInsert == 1) { int FlagIncdStatesInsert; int incidentid; incidentid = objIncident.Get_Current_Incidentid(); objIncidentStates.Incidentid = incidentid; objIncidentStates.Priorityid = Convert.ToInt32(drpPriority.SelectedValue); objIncidentStates.Categoryid = Convert.ToInt32(drpCategory.SelectedValue); objIncidentStates.Statusid = Convert.ToInt32(drpStatus.SelectedValue); objIncidentStates.Subcategoryid = Convert.ToInt32(drpSubcategory.SelectedValue); objIncidentStates.Technicianid = Convert.ToInt32(drpTechnician.SelectedValue); if (Convert.ToInt32(drpTechnician.SelectedValue) != 0) { objIncidentStates.AssignedTime = DateTime.Now.ToString(); } objIncidentStates.Requesttypeid = Convert.ToInt32(drpRequestType.SelectedValue); FlagIncdStatesInsert = objIncidentStates.Insert(); if (FlagIncdStatesInsert == 1) { objIncidentHistory.Incidentid = incidentid; objIncidentHistory.Operation = "create"; objIncidentHistory.Operationownerid = createdbyid; objIncidentHistory.Insert(); objSentmailtoUser.SentmailUser(requesterid, incidentid, "open"); // change code///////////////////////////////////////////////////////////////// if (FileUpload1.HasFile) { string filepath = Server.MapPath("~/FileAttach/"); string[] filenameupd = FileUpload1.FileName.Split(new char[] { '.' }); string filenew = Convert.ToString(incidentid) + "." + filenameupd[1]; FileUpload1.PostedFile.SaveAs(filepath + filenew); } /////////////////////////////////////////////////////////////////////////////// if (Convert.ToInt32(drpTechnician.SelectedValue) != 0) { objSentmailtoUser.SentmailTechnician(Convert.ToInt32(drpTechnician.SelectedValue), incidentid); } Response.Redirect("~/Incident/IncidentRequestUpdate.aspx?incidentid=" + incidentid + ""); } } } catch (Exception ex) { string myScript; myScript = "<script language=javascript>alert('Exception - '" + ex + "');</script>"; Page.RegisterClientScriptBlock("MyScript", myScript); return; } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { if (providerUserKey != null && !(providerUserKey is Guid)) { status = MembershipCreateStatus.InvalidProviderUserKey; return(null); } providerUserKey = Guid.NewGuid(); var validatePasswordEventArgs = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(validatePasswordEventArgs); if (validatePasswordEventArgs.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (RequiresQuestionAndAnswer && string.IsNullOrWhiteSpace(passwordQuestion)) { status = MembershipCreateStatus.InvalidQuestion; return(null); } if (RequiresQuestionAndAnswer && string.IsNullOrWhiteSpace(passwordAnswer)) { status = MembershipCreateStatus.InvalidAnswer; return(null); } if (GetUser(username, false) != null) { status = MembershipCreateStatus.DuplicateUserName; return(null); } if (GetUser(providerUserKey, false) != null) { status = MembershipCreateStatus.DuplicateProviderUserKey; return(null); } if (RequiresUniqueEmail && !string.IsNullOrWhiteSpace(GetUserNameByEmail(email))) { status = MembershipCreateStatus.DuplicateEmail; return(null); } var buffer = new byte[16]; (new RNGCryptoServiceProvider()).GetBytes(buffer); string salt = Convert.ToBase64String(buffer); DateTime creationDate = DateTime.UtcNow; var bsonDocument = new BsonDocument { { "_id", new ObjectId() }, { "ApplicationName", ApplicationName }, { "CreationDate", creationDate }, { "Email", email }, { "FailedPasswordAnswerAttemptCount", 0 }, { "FailedPasswordAnswerAttemptWindowStart", creationDate }, { "FailedPasswordAttemptCount", 0 }, { "FailedPasswordAttemptWindowStart", creationDate }, { "IsApproved", isApproved }, { "IsLockedOut", false }, { "LastActivityDate", creationDate }, { "LastLockoutDate", new DateTime(1970, 1, 1) }, { "LastLoginDate", creationDate }, { "LastPasswordChangedDate", creationDate }, { "LoweredEmail", email != null?email.ToLowerInvariant() : null }, { "LoweredUsername", username.ToLowerInvariant() }, { "Password", EncodePassword(password, PasswordFormat, salt) }, { "PasswordAnswer", EncodePassword(passwordAnswer, PasswordFormat, salt) }, { "PasswordQuestion", passwordQuestion }, { "Salt", salt }, { "Username", username } }; mongoCollection.Insert(bsonDocument); status = MembershipCreateStatus.Success; return(GetUser(username, false)); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { var user = db.Users.Create(); user.Email = username; user.Password = password; user.Question = passwordQuestion; user.Answer = passwordAnswer; status = MembershipCreateStatus.Success; return(new MembershipUser("CustomMembershipProvidder", user.Name, user.Id, user.Email, user.Question, user.Answer, isApproved, false, DateTime.Today, DateTime.Today, DateTime.Today, DateTime.Today, DateTime.Today )); }
/// <summary> /// Attempt to create user. Returns true if the creation was successful, otherwise false. /// </summary> /// <param name="manager">The manager.</param> /// <param name="user">The user.</param> /// <param name="status">The status that will be set depending on the creation outcome.</param> protected virtual bool TryCreateUser(UserManager manager, RegistrationViewModel userData, out User user, out MembershipCreateStatus status) { if (userData.RequiresQuestionAndAnswer) { user = manager.CreateUser(userData.Email, userData.Password, userData.Email, userData.Question, userData.Answer, this.ActivationMethod == ActivationMethod.Immediately, null, out status); } else { user = manager.CreateUser(userData.Email, userData.Password, userData.Email, null, null, this.ActivationMethod == ActivationMethod.Immediately, null, out status); } return(status == MembershipCreateStatus.Success); }
/// <summary> /// Creates a new user store he/she in the XML file /// </summary> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { XmlDocument doc = new XmlDocument(); doc.Load(_XmlFileName); XmlNode xmlUserRoot = doc.CreateElement("User"); XmlNode xmlUserName = doc.CreateElement("UserName"); XmlNode xmlPassword = doc.CreateElement("Password"); XmlNode xmlEmail = doc.CreateElement("Email"); XmlNode xmlLastLoginTime = doc.CreateElement("LastLoginTime"); xmlUserName.InnerText = username; xmlPassword.InnerText = Encrypt(password); xmlEmail.InnerText = email; xmlLastLoginTime.InnerText = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); xmlUserRoot.AppendChild(xmlUserName); xmlUserRoot.AppendChild(xmlPassword); xmlUserRoot.AppendChild(xmlEmail); xmlUserRoot.AppendChild(xmlLastLoginTime); doc.SelectSingleNode("Users").AppendChild(xmlUserRoot); doc.Save(_XmlFileName); status = MembershipCreateStatus.Success; MembershipUser user = new MembershipUser(Name, username, username, email, passwordQuestion, Encrypt(password), isApproved, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.MaxValue); // _Users.Add(username, user); return(user); }