internal static IUserBasic CreateUser(IApplicationSettings applicationSettings, IApplication application , DummyDataManager dummyDataManager, WorkmateRoleProvider roleProvider , WorkmateMembershipProvider membershipProvider, string password, AccountStatus accountStatus) { DummyUser user = dummyDataManager.GetDummy(); string firstName = user.Firstname; string lastName = user.Surname; TimeZoneInfo timeZoneInfo = TimeZoneUtility.GetGMTStandardTimeZone(); IUserBasic userBasic = new UserBasic(user.Email, user.Email, 1) { AccountStatus = accountStatus, TimeZoneInfo = timeZoneInfo }; Guid uniqueId; List <UserRole> userRoles = new List <UserRole>() { UserRole.SystemAdministrator, UserRole.Registered }; UserCreateStatus userCreateStatus = membershipProvider.CreateUser(ref userBasic, password, userRoles, UserNameDisplayMode.FullName , firstName, lastName , Workmate.Components.Contracts.Membership.Gender.Male , out uniqueId, application.ApplicationId).Status; Assert.AreEqual(UserCreateStatus.Success, userCreateStatus); Assert.Greater(userBasic.UserId, 0); return(membershipProvider.GetUserBasic(userBasic.UserId, false)); }
internal static bool CreateDnnAccount(CustomerAccount cust, int portalId, ref UserCreateStatus status) { if (cust == null) { throw new ArgumentNullException("cust"); } var ui = new UserInfo(); if (string.IsNullOrWhiteSpace(cust.Username)) { cust.Username = BuildUsername(cust); } ui.InitRequiredProperties( cust.Username, cust.FirstName, cust.LastName, cust.Email, cust.Password, portalId, true); UpdateUserInfo(ui, cust); status = UserController.CreateUser(ref ui); cust.Bvin = ui.UserID.ToString(); return(status == UserCreateStatus.Success); }
/// <summary> /// 用户名验证 /// </summary> /// <param name="userName">待创建的用户名</param> /// <param name="ignoreDisallowedUsername">是否忽略禁用的用户名称</param> /// <param name="userCreateStatus">用户帐号创建状态</param> public void RegisterValidate(string userName, bool ignoreDisallowedUsername, out UserCreateStatus userCreateStatus) { userCreateStatus = UserCreateStatus.UnknownFailure; UserSettings userSettings = userSettingsManager.Get(); if (!ignoreDisallowedUsername) { if (userSettings.DisallowedUserNames.Split(new char[] { ',', ',' }).Any(n => n.Equals(userName, StringComparison.CurrentCultureIgnoreCase))) { //用户输入字段为禁用字段 userCreateStatus = UserCreateStatus.DisallowedUsername; return; } } //判断用户名是否唯一 if (GetUserIdByUserName(userName) > 0) { userCreateStatus = UserCreateStatus.DuplicateUsername; return; } if (GetUser(GetUserIdByUserName(userName)) != null) { userCreateStatus = UserCreateStatus.DuplicateUsername; return; } else { userCreateStatus = UserCreateStatus.Created; return; } }
/// <summary> /// Converte a situação vinda do serviço para a do sistema. /// </summary> /// <param name="status"></param> /// <returns></returns> private static UserCreateStatus Convert(ServerHost.UserCreateStatus status) { UserCreateStatus result = UserCreateStatus.ProviderError; Enum.TryParse <UserCreateStatus>(status.ToString(), out result); return(result); }
private UserCreateStatus CreateDNNUser(UserInfo user) { user.Membership.Password = UserController.GeneratePassword(12).ToString(); user.PortalID = PortalId; user.IsSuperUser = false; UserCreateStatus createStatus = UserCreateStatus.AddUser; //Create the User createStatus = UserController.CreateUser(ref user); if (createStatus == UserCreateStatus.Success) { RoleController objRoles = new RoleController(); List <int> rolesList = new List <int>(); foreach (int roleID in rolesList) { objRoles.AddUserRole(user.PortalID, user.UserID, roleID, Null.NullDate, Null.NullDate); } } return(createStatus); }
//public UserInfo CreateNewUser(string username, string password, string email, string firstname, string lastname, string displayname, int portalId, string ipaddress) //{ // UserInfo oUser = new UserInfo(); // oUser.PortalID = portalId; // oUser.IsSuperUser = false; // oUser.FirstName = firstname; // oUser.LastName = lastname; // oUser.Email = email; // oUser.Username = username; // oUser.DisplayName = displayname; // oUser.LastIPAddress = ipaddress; // var pCt = new PortalController(); // var portalInf = pCt.GetPortal(portalId); // //Fill MINIMUM Profile Items (KEY PIECE) // oUser.Profile.PreferredLocale = portalInf.DefaultLanguage; // oUser.Profile.FirstName = oUser.FirstName; // oUser.Profile.LastName = oUser.LastName; // // OPTIONAL - ADD custom user profile values // //oUser.Profile.SetProfileProperty("PayrollID", payrollId.ToString()); // //Set Membership // UserMembership oNewMembership = new UserMembership(oUser); // oNewMembership.Password = password; // //Bind membership to user // oUser.Membership = oNewMembership; // //Add the user, ensure it was successful // if (UserController.CreateUser(ref oUser) == UserCreateStatus.Success) // { // var objRoles = new RoleController(); // RoleInfo objRole; // // autoassign user to portal roles // var arrRoles = objRoles.GetPortalRoles(oUser.PortalID); // for (int i = 0; i < arrRoles.Count - 1; i++) // { // objRole = (RoleInfo)arrRoles[i]; // if (objRole.AutoAssignment) // { // objRoles.AddUserRole(oUser.PortalID, oUser.UserID, objRole.RoleID, DateTime.MinValue, DateTime.MaxValue); // } // } // UserLoginStatus loginStatus = ValidateDNNUser(portalId, oUser.Username, password, ipaddress, ref oUser); // return oUser; // } // else // { // return null; // } //} /// <summary> /// /// </summary> /// <param name="portalId"></param> /// <param name="portalSettings"></param> /// <param name="user"></param> /// <returns></returns> public UserCreateStatus CreateUser(int portalId, PortalSettings portalSettings, ref UserInfo user) { //Update DisplayName to conform to Format UpdateDisplayName(portalId, ref user); user.Membership.Approved = portalSettings.UserRegistration == (int)Globals.PortalRegistrationType.PublicRegistration; UserCreateStatus CreateStatus = UserController.CreateUser(ref user); if (CreateStatus == UserCreateStatus.Success) { var objRoles = new RoleController(); // autoassign user to portal roles var arrRoles = objRoles.GetRoles(user.PortalID); foreach (RoleInfo r in arrRoles) { if (r.AutoAssignment) { objRoles.AddUserRole(user.PortalID, user.UserID, r.RoleID, DateTime.MinValue, DateTime.MaxValue); } } } DataCache.ClearPortalCache(portalId, true); return(CreateStatus); }
/// ----------------------------------------------------------------------------- /// <summary> /// Validate validates the User /// </summary> /// <history> /// [cnurse] 08/10/2006 Created /// </history> /// ----------------------------------------------------------------------------- private bool Validate() { //Check User Editor bool _IsValid = userForm.IsValid; //Check Password is valid if (AddUser && ShowPassword) { UserCreateStatus createStatus = UserCreateStatus.AddUser; if (!chkRandom.Checked) { //1. Check Password is Valid if (createStatus == UserCreateStatus.AddUser && !UserController.ValidatePassword(txtPassword.Text)) { createStatus = UserCreateStatus.InvalidPassword; } if (createStatus == UserCreateStatus.AddUser) { User.Membership.Password = txtPassword.Text; } } else { //Generate a random password for the user User.Membership.Password = UserController.GeneratePassword(); } //Check Question/Answer if (createStatus == UserCreateStatus.AddUser && MembershipProviderConfig.RequiresQuestionAndAnswer) { if (string.IsNullOrEmpty(txtQuestion.Text)) { //Invalid Question createStatus = UserCreateStatus.InvalidQuestion; } else { User.Membership.PasswordQuestion = txtQuestion.Text; } if (createStatus == UserCreateStatus.AddUser) { if (string.IsNullOrEmpty(txtAnswer.Text)) { //Invalid Question createStatus = UserCreateStatus.InvalidAnswer; } else { User.Membership.PasswordAnswer = txtAnswer.Text; } } } if (createStatus != UserCreateStatus.AddUser) { _IsValid = false; } } return(_IsValid); }
protected void cmdNewUser_Click(object sender, EventArgs e) { if (lblUserNameConfirm.Text.ToLower() == txtUserName2Repeat.Text.ToLower()) { _userName = txtUserName2Repeat.Text; UserInfo user = new UserInfo(); user.Username = _userName; user.FirstName = ""; user.LastName = ""; user.PortalID = PortalId; user.Email = _userName; user.DisplayName = _userName; user.Membership.Password = UserController.GeneratePassword(10); user.IsSuperUser = false; user.Profile.PreferredLocale = PortalSettings.DefaultLanguage; user.Profile.TimeZone = PortalSettings.TimeZoneOffset; user.Profile.FirstName = user.FirstName; user.Profile.LastName = user.LastName; UserCreateStatus status = MembershipProvider.Instance().CreateUser(ref user); if (status == UserCreateStatus.Success) { // Add User to Standard Roles RoleController roleController = new RoleController(); RoleInfo role = new RoleInfo(); ArrayList roles = roleController.GetPortalRoles(PortalId); for (int i = 0; i < roles.Count - 1; i++) { role = (RoleInfo)roles[i]; if (role.AutoAssignment == true) { roleController.AddUserRole(PortalId, user.UserID, role.RoleID, Null.NullDate, Null.NullDate); } } // Log new user in and create a new customer + add him to cart UserController.UserLogin(PortalId, user, PortalSettings.PortalName, Request.UserHostAddress, false); int customerId = Controller.NewCustomer(new CustomerInfo(user.UserID, PortalId, _userName)); Controller.UpdateCartCustomerId(this.MainControl.CartId, customerId); Mail.SendMail(user, MessageType.UserRegistrationVerified, PortalSettings); Response.Redirect(Request.QueryString["returnUrl"]); } } else { divMessages.Attributes.Add("class", "dnnFormMessage dnnFormWarning"); string loginUrl = Globals.NavigateURL(TabId, "", "ctl=Login"); lblIntro.Text = String.Format(Localization.GetString("DifferentUserNames.Text", this.LocalResourceFile)); txtUserName.Text = ""; pnlUser.Visible = true; pnlCheckUser.Visible = true; pnlPassword.Visible = false; pnlConfirmUser.Visible = false; } }
public CreateUserResult CreateUser(string username, string password, string fullname, string email, string passwordQuestion, string passwordAnswer, bool isApproved, string userKey, string identityProvider, bool ignoreCaptcha, Security.SecurityParameter[] parameters) { UserCreateStatus status = UserCreateStatus.ProviderError; var user = UserProvider.CreateUser(username, password, fullname, email, passwordQuestion, passwordAnswer, isApproved, userKey, identityProvider, ignoreCaptcha, out status, parameters); return(new CreateUserResult { User = user != null ? new User(user) : null, Status = status }); }
public ActionResult _CreateUser(ManageUsersCreateEditModel model) { User user = model.AsUser(); UserCreateStatus status = UserCreateStatus.UnknownFailure; user.IsActivated = true; IUser createdUser = iMembershipService.CreateUser(user, model.Password, out status); UserProfile profile = UserProfile.New(); profile.UserId = createdUser.UserId; new UserProfileService().Create(profile); StatusMessageData statusMessageData = null; switch (status) { case UserCreateStatus.DisallowedUsername: WebUtility.SetStatusCodeForError(Response); statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的帐号禁止使用,请输入其他名称"); break; case UserCreateStatus.DuplicateEmailAddress: WebUtility.SetStatusCodeForError(Response); statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的电子邮箱地址已经被使用,请输入其他邮箱"); break; case UserCreateStatus.DuplicateUsername: WebUtility.SetStatusCodeForError(Response); statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的帐号已经被使用,请输入其他名称"); break; case UserCreateStatus.InvalidPassword: WebUtility.SetStatusCodeForError(Response); statusMessageData = new StatusMessageData(StatusMessageType.Error, "您的密码长度少于本站要求的最小密码长度,请重新输入"); break; case UserCreateStatus.UnknownFailure: WebUtility.SetStatusCodeForError(Response); statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,注册新用户的时候产生了一个未知错误"); break; default: break; } ViewData["statusMessageData"] = statusMessageData; if (statusMessageData == null) { return(Json(new StatusMessageData(StatusMessageType.Success, "创建成功!"))); } else { return(View(model)); } }
/// <summary> /// 创建用户 /// </summary> /// <param name="user">待创建的用户</param> /// <param name="ignoreDisallowedUsername">是否忽略禁用的用户名称</param> /// <param name="userCreateStatus">用户帐号创建状态</param> /// <returns>创建成功返回IUser,创建失败返回null</returns> public IUser CreateUser(User user, bool ignoreDisallowedUsername, out UserCreateStatus userCreateStatus) { userCreateStatus = UserCreateStatus.UnknownFailure; IUserSettingsManager userSettingsManager = DIContainer.Resolve <IUserSettingsManager>(); UserSettings userSettings = userSettingsManager.Get(); if (!ignoreDisallowedUsername) { if (userSettings.DisallowedUserNames.Split(new char[] { ',', ',' }).Any(n => n.Equals(user.UserName, StringComparison.CurrentCultureIgnoreCase))) { //用户输入字段为禁用字段 userCreateStatus = UserCreateStatus.DisallowedUsername; return(null); } } //判断用户名是否唯一 if (GetUserIdByUserName(user.UserName) > 0) { userCreateStatus = UserCreateStatus.DuplicateUsername; return(null); } if (GetUser(user.UserId) != null) { userCreateStatus = UserCreateStatus.DuplicateUsername; return(null); } //判断邮箱是否唯一 if (GetUserIdByEmail(user.AccountEmail) > 0) { userCreateStatus = UserCreateStatus.DuplicateEmailAddress; return(null); } //如果不允许手机号重复的时候 if (!userSettings.RequiresUniqueMobile) { if (GetUserIdByMobile(user.AccountMobile) > 0) { userCreateStatus = UserCreateStatus.DuplicateMobile; return(null); } } user.UserId = IdGenerator.Next(); object userId_objcet = base.Insert(user); if (userId_objcet != null && (long)userId_objcet > 0) { userCreateStatus = UserCreateStatus.Created; } return(user); }
public string UserCreateErrorCodeToString(UserCreateStatus result) { switch (result) { case UserCreateStatus.Succeed: return "注册成功"; case UserCreateStatus.Faild: return "注册失败"; case UserCreateStatus.AlreadyExist: return "该用户已经存在"; case UserCreateStatus.ComfirmError: return "密码输入有误"; default: return "未知错误"; } }
public IActionResult CreateUser(CreateUserModel model) { User user = model.AsUser(); user.IsActivated = true; user.IpCreated = Utility.GetIP(); UserCreateStatus status = UserCreateStatus.UnknownFailure; User createdUser = membershipService.CreateUser(user, model.Password, out status); var userProfiles = UserProfiles.New(); userProfiles.Userid = createdUser.UserId; userProfilesService.Create(userProfiles); StatusMessageData statusMessageData = null; switch (status) { case UserCreateStatus.DisallowedUsername: statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的帐号禁止使用,请输入其他名称"); break; case UserCreateStatus.DuplicateEmailAddress: statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的电子邮箱地址已经被使用,请输入其他邮箱"); break; case UserCreateStatus.DuplicateUsername: statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,您输入的帐号已经被使用,请输入其他名称"); break; case UserCreateStatus.InvalidPassword: statusMessageData = new StatusMessageData(StatusMessageType.Error, "您的密码长度少于本站要求的最小密码长度,请重新输入"); break; case UserCreateStatus.UnknownFailure: statusMessageData = new StatusMessageData(StatusMessageType.Error, "对不起,注册新用户的时候产生了一个未知错误"); break; default: break; } ViewData["statusMessageData"] = statusMessageData; if (statusMessageData == null) { return(Json(new StatusMessageData(StatusMessageType.Success, "创建成功!"))); } else { return(View(model)); } }
/// <summary> /// Retruns a String corresponding to the Registration Status of the User /// </summary> /// <param name="UserRegistrationStatus">The AUserCreateStatus</param> /// <returns>A String</returns> public static string GetUserCreateStatus(UserCreateStatus UserRegistrationStatus) { if (UserRegistrationStatus == UserCreateStatus.DuplicateEmail) { return(Localization.GetString("UserEmailExists")); } else if (UserRegistrationStatus == UserCreateStatus.InvalidAnswer) { return(Localization.GetString("InvalidAnswer")); } else if (UserRegistrationStatus == UserCreateStatus.InvalidEmail) { return(Localization.GetString("InvalidEmail")); } else if (UserRegistrationStatus == UserCreateStatus.InvalidQuestion) { return(Localization.GetString("InvalidQuestion")); } else if (UserRegistrationStatus == UserCreateStatus.InvalidUserName) { return(Localization.GetString("InvalidUserName")); } else if (UserRegistrationStatus == UserCreateStatus.UserRejected) { return(Localization.GetString("UserRejected")); } else if (UserRegistrationStatus == UserCreateStatus.PasswordMismatch) { return(Localization.GetString("PasswordMismatch")); } else if (UserRegistrationStatus == UserCreateStatus.UsernameAlreadyExists || UserRegistrationStatus == UserCreateStatus.UserAlreadyRegistered || UserRegistrationStatus == UserCreateStatus.DuplicateUserName) { return(Localization.GetString("UserNameExists")); } else if (UserRegistrationStatus == UserCreateStatus.DuplicateProviderUserKey || UserRegistrationStatus == UserCreateStatus.InvalidProviderUserKey || UserRegistrationStatus == UserCreateStatus.ProviderError) { return(Localization.GetString("RegError")); } else if (UserRegistrationStatus == UserCreateStatus.Success || UserRegistrationStatus == UserCreateStatus.UnexpectedError) { return(null); } else if (UserRegistrationStatus == UserCreateStatus.InvalidPassword) { string replace = Localization.GetString("InvalidPassword"); replace = replace.Replace("[PasswordLength]", MembershipProviderConfig.MinPasswordLength.ToString()); return(replace.Replace("[NoneAlphabet]", MembershipProviderConfig.MinNonAlphanumericCharacters.ToString())); } return(null); }
public static ActionResult CreateUser(RegisterDetails RegisterDetails) { ActionResult actionResult = new ActionResult(); User.Membership.Approved = PortalSettings.Current.UserRegistration == (int)Globals.PortalRegistrationType.PublicRegistration; CreateStatus = UserController.CreateUser(ref User); DataCache.ClearPortalUserCountCache(PortalSettings.Current.PortalId); try { if (CreateStatus == UserCreateStatus.Success) { ////Assocate alternate Login with User and proceed with Login //if (!String.IsNullOrEmpty(AuthenticationType)) //{ // AuthenticationController.AddUserAuthentication(User.UserID, AuthenticationType, UserToken); //} ActionResult result = CompleteUserCreation(CreateStatus, User, true, !(HttpContext.Current.Request.IsAuthenticated && PortalSecurity.IsInRole(PortalSettings.Current.AdministratorRoleName)) && !(HttpContext.Current.Request.IsAuthenticated && (User.UserID == (PortalController.Instance.GetCurrentSettings() as PortalSettings).UserInfo.UserID))); if (result.IsSuccess) { if (string.IsNullOrEmpty(result.Message)) { IDictionary <string, object> dynObjects = new ExpandoObject() as IDictionary <string, object>; dynObjects.Add("RedirectURL", GetRedirectUrl()); actionResult.Data = dynObjects; } actionResult.Message = result.Message; } else { string errorMessage = string.Empty; foreach (KeyValuePair <string, Exception> error in result.Errors) { errorMessage = error.Value.ToString(); } actionResult.AddError("RegisterManager.CompleteUserCreation", errorMessage); } } else { actionResult.AddError("RegisterManager.CreateUser", UserController.GetUserCreateStatus(CreateStatus)); } } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(null, exc); } return(actionResult); }
//private IUserService _userService = DIContainer.Resolve<IUserService>(); //private IMembershipService _membershipService = DIContainer.Resolve<IMembershipService>(); #region 公共方法 /// <summary> /// 创建用户 /// </summary> /// <param name="user">待创建的用户</param> /// <param name="ignoreUsername">是否忽略禁用的用户名称</param> /// <param name="userCreateStatus">用户帐号创建状态</param> /// <returns></returns> public User CreateUser(User user, bool ignoreUsername, out UserCreateStatus userCreateStatus) { userCreateStatus = UserCreateStatus.UnknownFailure; if (!ignoreUsername) { if ("*,$,#,%,^,@".Split(new char[] { ',', ',' }).Any(n => n.Equals(user.UserName, StringComparison.CurrentCultureIgnoreCase))) { //用户输入字段为禁用字段 userCreateStatus = UserCreateStatus.DisallowedUsername; return(null); } } if (GetUserIdByUserName(user.UserName) > 0) { userCreateStatus = UserCreateStatus.DuplicateUsername; return(null); } if (GetUser(user.UserId) != null) { userCreateStatus = UserCreateStatus.DuplicateUsername; return(null); } if (!string.IsNullOrEmpty(user.AccountEmail) && GetUserIdByEmail(user.AccountEmail) > 0) { userCreateStatus = UserCreateStatus.DuplicateEmailAddress; return(null); } if (!string.IsNullOrEmpty(user.AccountMobile)) { if (GetUserIdByMobile(user.AccountMobile) > 0) { userCreateStatus = UserCreateStatus.DuplicateMobile; return(null); } } user.UserId = IdGenerator.Next(); object result = base.AddByCache(user, false); bool value = false; bool.TryParse(result.ToString(), out value); if (value) { userCreateStatus = UserCreateStatus.Created; } return(user); }
public string UserCreateErrorCodeToString(UserCreateStatus result) { switch (result) { case UserCreateStatus.Succeed: return("注册成功"); case UserCreateStatus.Faild: return("注册失败"); case UserCreateStatus.AlreadyExist: return("该用户已经存在"); case UserCreateStatus.ComfirmError: return("密码输入有误"); default: return("未知错误"); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void registerButton_Click(object sender, EventArgs e) { if ((UseCaptcha && ctlCaptcha.IsValid) || !UseCaptcha) { UserCreateStatus rc = membershipUtils.Validate(base.PortalId, AuthenticationType, User); if (rc == UserCreateStatus.AddUser) { CreateUser(); } else { AddLocalizedModuleMessage(UserController.GetUserCreateStatus(rc), ModuleMessage.ModuleMessageType.RedError, true); } } }
private static string GetMessageFromStatusCode(UserCreateStatus statusCode) { switch (statusCode) { case UserCreateStatus.InvalidEmail: return("e-mail address provided is invalid."); case UserCreateStatus.DuplicateUserName: return("User name already exists."); case UserCreateStatus.DuplicateEmail: return("A user name for that e-mail address already exists."); } return("User Manager Error"); }
private UserInfo CreateUser() { UserInfo user = new UserInfo(); user.Username = txtEmail.Text.Trim(); user.FirstName = txtFirstname.Text.Trim(); user.LastName = txtLastname.Text.Trim(); user.PortalID = PortalId; user.Email = txtEmail.Text.Trim(); user.DisplayName = user.FirstName + " " + user.LastName; string password = UserController.GeneratePassword(10); user.Membership.Password = password; user.IsSuperUser = false; user.Membership.Approved = false; user.Profile.InitialiseProfile(PortalId); user.Profile.PreferredLocale = PortalSettings.DefaultLanguage; user.Profile.PreferredTimeZone = PortalSettings.TimeZone; user.Profile.FirstName = user.FirstName; user.Profile.LastName = user.LastName; user.Profile.City = txtCity.Text.Trim(); user.Profile.PostalCode = txtPostalCode.Text.Trim(); user.Profile.Street = txtStreet.Text.Trim(); UserCreateStatus status = MembershipProvider.Instance().CreateUser(ref user); if (status == UserCreateStatus.Success || status == UserCreateStatus.UsernameAlreadyExists) { if (status == UserCreateStatus.UsernameAlreadyExists) { UserController.AddUserPortal(PortalId, user.UserID); } //// Add User to Standard Roles //RoleController roleController = new RoleController(); //ArrayList roles = roleController.GetPortalRoles(PortalId); //for (int i = 0; i < roles.Count - 1; i++) //{ // RoleInfo role = (RoleInfo) roles[i]; // if (role.AutoAssignment == true) // roleController.AddUserRole(PortalId, user.UserID, role.RoleID, Null.NullDate, Null.NullDate); //} } return(user); }
/// <summary> /// CreateUser creates a new user in the Database /// </summary> /// <history> /// [cnurse] 05/18/2006 Created /// </history> public void CreateUser() { if (IsRegister) { //Set the Approved status based on the Portal Settings if (PortalSettings.UserRegistration == (int)Globals.PortalRegistrationType.PublicRegistration) { User.Membership.Approved = true; } else { User.Membership.Approved = false; } } else { //Set the Approved status from the value in the Authorized checkbox User.Membership.Approved = chkAuthorize.Checked; } if (User.Profile.LastName == Null.NullString) { User.Profile.LastName = User.LastName; } if (User.Profile.FirstName == Null.NullString) { User.Profile.FirstName = User.FirstName; } UserInfo refUser = User; UserCreateStatus createStatus = UserController.CreateUser(ref refUser); UserCreatedEventArgs args; if (createStatus == UserCreateStatus.Success) { args = new UserCreatedEventArgs(User); args.Notify = chkNotify.Checked; } else // registration error { args = new UserCreatedEventArgs(null); } args.CreateStatus = createStatus; OnUserCreated(args); OnUserCreateCompleted(args); }
public ActionResult RegisterLocal(LocalRegisterModel model) { if (ModelState.IsValid) { UserCreateStatus status = UserService.CreateAccount(model.Username, model.Password, model.Fullname, model.Email); switch (status) { case UserCreateStatus.Created: ShowMessage((L)"User account created."); return(RedirectToAction("login")); case UserCreateStatus.UsernameUsed: ModelState.AddModelError("Username", (L)"Username already used!"); return(View(model)); } } return(View(model)); }
public static string ErrorCodeToString(UserCreateStatus createStatus) { // See http://msdn.microsoft.com/en-us/library/system.web.security.membershipcreatestatus.aspx for // a full list of status codes. switch (createStatus) { case UserCreateStatus.DuplicateUserName: return("Username already exists. Please enter a different user name."); //"用户名已存在。请另输入一个用户名。" case UserCreateStatus.DuplicateEmail: return("A username for that e-mail address already exists. Please enter a different e-mail address."); // "已存在与该电子邮件地址对应的用户名。请另输入一个电子邮件地址。" case UserCreateStatus.InvalidPassword: return("The password provided is invalid. Please enter a valid password value."); //提供的密码无效。请输入有效的密码值。 case UserCreateStatus.InvalidEmail: return("The e-mail address provided is invalid. Please check the value and try again."); // "提供的电子邮件地址无效。请检查该值并重试。" case UserCreateStatus.InvalidAnswer: return("The password retrieval answer provided is invalid. Please check the value and try again."); //"提供的密码取回答案无效。请检查该值并重试。" case UserCreateStatus.InvalidQuestion: return("The password retrieval question provided is invalid. Please check the value and try again."); //"提供的密码取回问题无效。请检查该值并重试。" case UserCreateStatus.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 void createDnnUser(string UserName) { UserInfo newUser = new UserInfo(); newUser.Username = UserName; newUser.PortalID = PortalSettings.PortalId; newUser.DisplayName = "John Doe"; newUser.Email = "*****@*****.**"; newUser.FirstName = "John"; newUser.LastName = "Doe"; newUser.Profile.SetProfileProperty("SSN", "123-456-7890"); UserCreateStatus rc = DotNetNuke.Entities.Users.UserController.CreateUser(ref newUser); if (rc == UserCreateStatus.Success) { // Manual add role to user addRoleToUser(newUser, "Registered Users", DateTime.MaxValue); } }
/// <summary> /// 用户名验证 /// </summary> /// <param name="userName">待创建的用户名</param> /// <param name="userCreateStatus">用户帐号创建状态</param> public void RegisterValidate(string userName, out UserCreateStatus userCreateStatus) { userCreateStatus = UserCreateStatus.UnknownFailure; //判断用户名是否唯一 if (GetUserIdByUserName(userName) > 0) { userCreateStatus = UserCreateStatus.DuplicateUsername; return; } if (GetUser(GetUserIdByUserName(userName)) != null) { userCreateStatus = UserCreateStatus.DuplicateUsername; return; } else { userCreateStatus = UserCreateStatus.Created; return; } }
public AddUserResult AddUser(HumanName name, AddUserSettings settings, string email, bool useEmailAsUserName, int portalId) { var userName = NameFormatter.FormatUserName(settings.UserNameFormat, name, email, useEmailAsUserName); var user = new UserInfo { FirstName = name.FirstName, LastName = name.LastName, DisplayName = NameFormatter.FormatDisplayName(GetDisplayNameFormat(settings, PortalSettings.Current), name, userName), Email = email, Username = userName, PortalID = portalId }; var password = GeneratePassword(settings.DesiredPasswordLength, MembershipProviderConfig.MinNonAlphanumericCharacters, settings.AllowedSpecialChars); user.Membership.Password = password; UserCreateStatus userCreateStatus = UserController.CreateUser(ref user); if (userCreateStatus == UserCreateStatus.Success) { UpdateUserProfile(user, name, portalId); try { AssignUserToRoles(user, settings.RoleIds, portalId); } catch (Exception ex) { userCreateStatus = UserCreateStatus.UnexpectedError; Exceptions.LogException(new SecurityException("Cannot assign user to roles", ex)); } } return(new AddUserResult { UserCreateStatus = userCreateStatus, User = user, Password = password }); }
public User CreateUser(string emailAddress, string userName, string password, Gender gender, out UserCreateStatus status) { var currentUser = _userRepo.Find().WithEmail(emailAddress).SingleOrDefault(); if (currentUser != null) { status = UserCreateStatus.DuplicateEmail; return null; } currentUser = _userRepo.Find().WithUserName(userName).SingleOrDefault(); if (currentUser != null) { status = UserCreateStatus.DuplicateUserName; return null; } var now = DateTime.UtcNow; // Generate Hashed Password and Salt string hashedPassword; string salt; _saltedHash.GetHashAndSaltString(password, out hashedPassword, out salt); var user = new User { EmailAddress = emailAddress, UserName = userName, Salt = salt, Password = hashedPassword, Gender = gender.ToString(), AccountStatusId = (int) AccountStatus.InActive, LastLoggedIn = now, CreatedOn = now, UpdatedOn = now, RegistrationStep = 2 }; _userRepo.Insert(user); status = UserCreateStatus.Success; return user; }
private bool CreateDnnUserInfo(UserInfo userInfo, bool doLogin) { var portalSettings = DotNetNuke.Entities.Portals.PortalSettings.Current; UserCreateStatus userCreateStatus = UserController.CreateUser(ref userInfo); if (userCreateStatus == UserCreateStatus.Success) { //send notification to portal administrator of new user registration //check the receive notification setting first, but if register type is Private, we will always send the notification email. //because the user need administrators to do the approve action so that he can continue use the website. if (portalSettings.EnableRegisterNotification || portalSettings.UserRegistration == (int)DotNetNuke.Common.Globals.PortalRegistrationType.PrivateRegistration) { Mail.SendMail(userInfo, DotNetNuke.Services.Mail.MessageType.UserRegistrationAdmin, portalSettings); SendAdminNotification(userInfo, portalSettings); } //because of some bugs in dnn, sometimes it must be approved after getting it from dnn. if (!userInfo.Membership.Approved) { var current = UserController.GetUserByName(userInfo.Username); //due to dnn bug I have to update user again. current.FirstName = userInfo.FirstName.ToStringObj().Trim(); current.LastName = userInfo.LastName.ToStringObj().Trim(); current.Membership.Approved = true; UserController.UpdateUser(userInfo.PortalID, current); UserController.ApproveUser(current); } if (doLogin) { UserLoginStatus loginStatus = UserLoginStatus.LOGIN_FAILURE; UserController.UserLogin(portalSettings.PortalId, userInfo.Username, userInfo.Membership.Password, "", portalSettings.PortalName, "", ref loginStatus, false); } Mail.SendMail(userInfo, DotNetNuke.Services.Mail.MessageType.UserRegistrationPublic, portalSettings); return(true); } else { return(false); } }
public void Test_CreateUser() { IApplicationSettings applicationSettings = Workmate.Components.InstanceContainer.ApplicationSettings; WorkmateRoleProvider roleProvider = new WorkmateRoleProvider(); WorkmateMembershipProvider membershipProvider = new WorkmateMembershipProvider(); DummyUser user = this.DummyDataManager.GetDummy(); string firstName = user.Firstname; string lastName = user.Surname; string password = "******"; AccountStatus accountStatus = AccountStatus.Valid; TimeZoneInfo timeZoneInfo = TimeZoneUtility.GetGMTStandardTimeZone(); IUserBasic userBasic = new UserBasic(user.Email, user.Email, 1) { AccountStatus = accountStatus, TimeZoneInfo = timeZoneInfo }; Guid uniqueId; List <UserRole> userRoles = new List <UserRole>() { UserRole.SystemAdministrator, UserRole.Registered }; UserCreateStatus userCreateStatus = membershipProvider.CreateUser(ref userBasic, password, userRoles, UserNameDisplayMode.FullName , firstName, lastName , DebugUtility.GetRandomEnum <Workmate.Components.Contracts.Membership.Gender>(this.Random) , out uniqueId, this.Application.ApplicationId).Status; Assert.AreEqual(UserCreateStatus.Success, userCreateStatus); Assert.Greater(userBasic.UserId, 0); userBasic = membershipProvider.GetUserBasic(userBasic.UserId, false); Assert.AreEqual(user.Email, userBasic.UserName); Assert.AreEqual(user.Email, userBasic.Email); Assert.AreEqual(accountStatus, userBasic.AccountStatus); Assert.AreEqual(timeZoneInfo.Id, userBasic.TimeZoneInfoId); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // 尝试注册用户 UserCreateStatus createResult = MembershipService.CreateUser( model.UserName , model.Password , model.ConfirmPassword , model.Address , model.Consignee , model.Tel , model.Zipcode ); if (createResult == UserCreateStatus.Succeed) { FormsService.SignIn(model.UserName, false /* createPersistentCookie */); return(RedirectToAction("Index", "Home")); } else { if (createResult == UserCreateStatus.Faild) { ModelState.AddModelError("", "创建失败"); } if (createResult == UserCreateStatus.AlreadyExist) { ModelState.AddModelError("", "该用户已存在"); } } } // 如果我们进行到这一步时某个地方出错,则重新显示表单 ViewData["PasswordLength"] = MembershipService.MinPasswordLength; return(View(model)); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { UserCreateStatus status = UserService.CreateAccount(model.Username, model.Fullname, model.Email); switch (status) { case UserCreateStatus.Created: ShowMessage((L)"User account created, please login once again."); return(RedirectToAction("login")); case UserCreateStatus.UsernameUsed: ModelState.AddModelError("Username", (L)"Username already used!"); break; case UserCreateStatus.InsufficientPassword: ModelState.AddModelError("Password", (L)"Insufficient password complexity!"); break; } } return(View(model)); }
public static string ErrorCodeToString(UserCreateStatus createStatus) { // See http://msdn.microsoft.com/en-us/library/system.web.security.membershipcreatestatus.aspx for // a full list of status codes. switch (createStatus) { case UserCreateStatus.DuplicateUserName: return "Username already exists. Please enter a different user name.";//"用户名已存在。请另输入一个用户名。" case UserCreateStatus.DuplicateEmail: return "A username for that e-mail address already exists. Please enter a different e-mail address."; // "已存在与该电子邮件地址对应的用户名。请另输入一个电子邮件地址。" case UserCreateStatus.InvalidPassword: return "The password provided is invalid. Please enter a valid password value."; //提供的密码无效。请输入有效的密码值。 case UserCreateStatus.InvalidEmail: return "The e-mail address provided is invalid. Please check the value and try again."; // "提供的电子邮件地址无效。请检查该值并重试。" case UserCreateStatus.InvalidAnswer: return "The password retrieval answer provided is invalid. Please check the value and try again."; //"提供的密码取回答案无效。请检查该值并重试。" case UserCreateStatus.InvalidQuestion: return "The password retrieval question provided is invalid. Please check the value and try again."; //"提供的密码取回问题无效。请检查该值并重试。" case UserCreateStatus.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."; //"发生未知错误。请验证您的输入并重试。如果问题仍然存在,请与系统管理员联系。" } }
internal static bool CreateDnnAccount(CustomerAccount cust, int portalId, ref UserCreateStatus status) { try { if (cust == null) { throw new ArgumentNullException("cust"); } var ui = new UserInfo(); if (string.IsNullOrWhiteSpace(cust.Username)) { cust.Username = BuildUsername(cust); } ui.InitRequiredProperties( cust.Username, cust.FirstName, cust.LastName, cust.Email, cust.Password, portalId, true); UpdateUserInfo(ui, cust); status = UserController.CreateUser(ref ui); cust.Bvin = ui.UserID.ToString(); _Logger.LogMessage(string.Format("User ({0}||{1}) created successfully and assigned a customer number ({2}).", ui.Username, ui.UserID, cust.Bvin)); return(status == UserCreateStatus.Success); } catch (Exception e) { LogError(e); throw; } }
public User CreateUser(string username, string password, string email, string[] roles, bool isVerified, out UserCreateStatus createStatus) { // Validate username. if (!ValidateParameter(username)) { createStatus = UserCreateStatus.InvalidUserName; return null; } // Validate password. if (!ValidateParameter(password)) { createStatus = UserCreateStatus.InvalidPassword; return null; } // Check if username is already present. if (_store.GetUser(FormatUsername(username)) != null) { createStatus = UserCreateStatus.DuplicateUserName; return null; } // Check if email is already present. if (_store.GetUserByEmail(email) != null) { createStatus = UserCreateStatus.DuplicateEmail; return null; } // Create user. _store.CreateUser(FormatUsername(username), EncryptPassword(password), roles, email, isVerified); createStatus = UserCreateStatus.Success; return GetUser(username); }
protected string CompleteUserCreation(UserCreateStatus createStatus, UserInfo newUser, bool notify, bool register) { var strMessage = ""; if (register) { //send notification to portal administrator of new user registration //check the receive notification setting first, but if register type is Private, we will always send the notification email. //because the user need administrators to do the approve action so that he can continue use the website. if (PortalSettings.EnableRegisterNotification || PortalSettings.UserRegistration == (int)Globals.PortalRegistrationType.PrivateRegistration) { strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationAdmin, PortalSettings); SendAdminNotification(newUser, PortalSettings); } var loginStatus = UserLoginStatus.LOGIN_FAILURE; //complete registration switch (PortalSettings.UserRegistration) { case (int)Globals.PortalRegistrationType.PrivateRegistration: strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationPrivate, PortalSettings); //show a message that a portal administrator has to verify the user credentials if (String.IsNullOrEmpty(strMessage)) { strMessage += DotNetNuke.Services.Localization.Localization.GetString("PrivateConfirmationMessage", DotNetNuke.Services.Localization.Localization.SharedResourceFile); } break; case (int)Globals.PortalRegistrationType.PublicRegistration: Mail.SendMail(newUser, MessageType.UserRegistrationPublic, PortalSettings); UserController.UserLogin(PortalSettings.PortalId, newUser.Username, newUser.Membership.Password, "", PortalSettings.PortalName, "", ref loginStatus, false); break; case (int)Globals.PortalRegistrationType.VerifiedRegistration: Mail.SendMail(newUser, MessageType.UserRegistrationVerified, PortalSettings); UserController.UserLogin(PortalSettings.PortalId, newUser.Username, newUser.Membership.Password, "", PortalSettings.PortalName, "", ref loginStatus, false); break; } //store preferredlocale in cookie DotNetNuke.Services.Localization.Localization.SetLanguage(newUser.Profile.PreferredLocale); } else { if (notify) { //Send Notification to User if (PortalSettings.UserRegistration == (int)Globals.PortalRegistrationType.VerifiedRegistration) { strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationVerified, PortalSettings); } else { strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationPublic, PortalSettings); } } } return strMessage; }
public static string GetUserCreateStatus(UserCreateStatus UserRegistrationStatus) { switch (UserRegistrationStatus) { case UserCreateStatus.DuplicateEmail: return Localization.GetString("UserEmailExists"); case UserCreateStatus.InvalidAnswer: return Localization.GetString("InvalidAnswer"); case UserCreateStatus.InvalidEmail: return Localization.GetString("InvalidEmail"); case UserCreateStatus.InvalidPassword: string strInvalidPassword = Localization.GetString("InvalidPassword"); strInvalidPassword = strInvalidPassword.Replace("[PasswordLength]", MembershipProviderConfig.MinPasswordLength.ToString()); strInvalidPassword = strInvalidPassword.Replace("[NoneAlphabet]", MembershipProviderConfig.MinNonAlphanumericCharacters.ToString()); return strInvalidPassword; case UserCreateStatus.PasswordMismatch: return Localization.GetString("PasswordMismatch"); case UserCreateStatus.InvalidQuestion: return Localization.GetString("InvalidQuestion"); case UserCreateStatus.InvalidUserName: return Localization.GetString("InvalidUserName"); case UserCreateStatus.UserRejected: return Localization.GetString("UserRejected"); case UserCreateStatus.DuplicateUserName: case UserCreateStatus.UserAlreadyRegistered: case UserCreateStatus.UsernameAlreadyExists: return Localization.GetString("UserNameExists"); case UserCreateStatus.ProviderError: case UserCreateStatus.DuplicateProviderUserKey: case UserCreateStatus.InvalidProviderUserKey: return Localization.GetString("RegError"); default: throw new ArgumentException("Unknown UserCreateStatus value encountered", "UserRegistrationStatus"); } }
/// <summary> /// Constructs a new UserCreatedEventArgs /// </summary> /// <param name="newUser">The newly Created User</param> /// <history> /// [cnurse] 03/08/2006 Created /// </history> public UserCreatedEventArgs( UserInfo newUser ) { _CreateStatus = UserCreateStatus.Success; _NewUser = newUser; }
protected string CompleteUserCreation(UserCreateStatus createStatus, UserInfo newUser, bool notify, bool register) { var strMessage = ""; var message = ModuleMessage.ModuleMessageType.RedError; if (register) { //send notification to portal administrator of new user registration //check the receive notification setting first, but if register type is Private, we will always send the notification email. //because the user need administrators to do the approve action so that he can continue use the website. if (PortalSettings.EnableRegisterNotification || PortalSettings.UserRegistration == (int)Globals.PortalRegistrationType.PrivateRegistration) { strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationAdmin, PortalSettings); SendAdminNotification(newUser, PortalSettings); } var loginStatus = UserLoginStatus.LOGIN_FAILURE; //complete registration switch (PortalSettings.UserRegistration) { case (int) Globals.PortalRegistrationType.PrivateRegistration: strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationPrivate, PortalSettings); //show a message that a portal administrator has to verify the user credentials if (string.IsNullOrEmpty(strMessage)) { strMessage += Localization.GetString("PrivateConfirmationMessage", Localization.SharedResourceFile); message = ModuleMessage.ModuleMessageType.GreenSuccess; } break; case (int) Globals.PortalRegistrationType.PublicRegistration: Mail.SendMail(newUser, MessageType.UserRegistrationPublic, PortalSettings); UserController.UserLogin(PortalSettings.PortalId, newUser.Username, newUser.Membership.Password, "", PortalSettings.PortalName, "", ref loginStatus, false); break; case (int) Globals.PortalRegistrationType.VerifiedRegistration: Mail.SendMail(newUser, MessageType.UserRegistrationVerified, PortalSettings); UserController.UserLogin(PortalSettings.PortalId, newUser.Username, newUser.Membership.Password, "", PortalSettings.PortalName, "", ref loginStatus, false); break; } //affiliate if (!Null.IsNull(User.AffiliateID)) { var objAffiliates = new AffiliateController(); objAffiliates.UpdateAffiliateStats(newUser.AffiliateID, 0, 1); } //store preferredlocale in cookie Localization.SetLanguage(newUser.Profile.PreferredLocale); if (IsRegister && message == ModuleMessage.ModuleMessageType.RedError) { AddLocalizedModuleMessage(string.Format(Localization.GetString("SendMail.Error", Localization.SharedResourceFile), strMessage), message, (!String.IsNullOrEmpty(strMessage))); } else { AddLocalizedModuleMessage(strMessage, message, (!String.IsNullOrEmpty(strMessage))); } } else { if (notify) { //Send Notification to User if (PortalSettings.UserRegistration == (int) Globals.PortalRegistrationType.VerifiedRegistration) { strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationVerified, PortalSettings); } else { strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationPublic, PortalSettings); } } } return strMessage; }
private void ValidateForDuplicateDisplayName(UserInfo user, ref UserCreateStatus createStatus) { Hashtable settings = UserController.GetUserSettings(user.PortalID); bool requireUniqueDisplayName = Convert.ToBoolean(settings["Registration_RequireUniqueDisplayName"]); if (requireUniqueDisplayName) { UserInfo duplicateUser = GetUserByDisplayName(Null.NullInteger, user.DisplayName); if (duplicateUser != null) { createStatus = UserCreateStatus.DuplicateDisplayName; } } }
/// <summary> /// 创建用户 /// </summary> /// <param name="user">待创建的用户</param> /// <param name="password">密码</param> /// <param name="userCreateStatus">用户帐号创建状态</param> /// <returns>创建成功返回IUser,创建失败返回null</returns> public IUser CreateUser(IUser user, string password, out UserCreateStatus userCreateStatus) { return CreateUser(user, password, string.Empty, string.Empty, false, out userCreateStatus); }
protected string CompleteUserCreation(UserCreateStatus createStatus, UserInfo newUser, bool notify, bool register) { string strMessage = ""; ModuleMessage.ModuleMessageType message = ModuleMessage.ModuleMessageType.RedError; if (register) { //send notification to portal administrator of new user registration strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationAdmin, PortalSettings); var loginStatus = UserLoginStatus.LOGIN_FAILURE; //complete registration switch (PortalSettings.UserRegistration) { case (int) Globals.PortalRegistrationType.PrivateRegistration: strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationPrivate, PortalSettings); //show a message that a portal administrator has to verify the user credentials if (string.IsNullOrEmpty(strMessage)) { strMessage += string.Format(Localization.GetString("PrivateConfirmationMessage", Localization.SharedResourceFile), newUser.Email); message = ModuleMessage.ModuleMessageType.GreenSuccess; } break; case (int) Globals.PortalRegistrationType.PublicRegistration: Mail.SendMail(newUser, MessageType.UserRegistrationPublic, PortalSettings); UserController.UserLogin(PortalSettings.PortalId, newUser.Username, newUser.Membership.Password, "", PortalSettings.PortalName, "", ref loginStatus, false); break; case (int) Globals.PortalRegistrationType.VerifiedRegistration: Mail.SendMail(newUser, MessageType.UserRegistrationVerified, PortalSettings); UserController.UserLogin(PortalSettings.PortalId, newUser.Username, newUser.Membership.Password, "", PortalSettings.PortalName, "", ref loginStatus, false); break; } //affiliate if (!Null.IsNull(User.AffiliateID)) { var objAffiliates = new AffiliateController(); objAffiliates.UpdateAffiliateStats(newUser.AffiliateID, 0, 1); } //store preferredlocale in cookie Localization.SetLanguage(newUser.Profile.PreferredLocale); if (IsRegister && message == ModuleMessage.ModuleMessageType.RedError) { AddLocalizedModuleMessage(string.Format(Localization.GetString("SendMail.Error", Localization.SharedResourceFile), strMessage), message, (!String.IsNullOrEmpty(strMessage))); } else { AddLocalizedModuleMessage(strMessage, message, (!String.IsNullOrEmpty(strMessage))); } } else { if (notify) { //Send Notification to User if (PortalSettings.UserRegistration == (int) Globals.PortalRegistrationType.VerifiedRegistration) { strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationVerified, PortalSettings); } else { strMessage += Mail.SendMail(newUser, MessageType.UserRegistrationPublic, PortalSettings); } } } //Log Event to Event Log var objEventLog = new EventLogController(); objEventLog.AddLog(newUser, PortalSettings, UserId, newUser.Username, EventLogController.EventLogType.USER_CREATED); return strMessage; }
/// <summary> /// 用户名验证 /// </summary> /// <param name="userName">待创建的用户名</param> /// <param name="ignoreDisallowedUsername">是否忽略禁用的用户名称</param> /// <param name="userCreateStatus">用户帐号创建状态</param> public void RegisterValidate(string userName, bool ignoreDisallowedUsername, out UserCreateStatus userCreateStatus) { userRepository.RegisterValidate(userName, ignoreDisallowedUsername, out userCreateStatus); }
static string UserCreateStatusToString(UserCreateStatus createStatus) { // See http://go.microsoft.com/fwlink/?LinkID=177550 for // a full list of status codes. switch (createStatus) { case UserCreateStatus.DuplicateUserName: return "User name already exists. Please enter a different user name."; case UserCreateStatus.DuplicateEmail: return "A user name for that e-mail address already exists. Please enter a different e-mail address."; case UserCreateStatus.InvalidPassword: return "The password provided is invalid. Please enter a valid password value."; case UserCreateStatus.InvalidEmail: return "The e-mail address provided is invalid. Please check the value and try again."; case UserCreateStatus.InvalidAnswer: return "The password retrieval answer provided is invalid. Please check the value and try again."; case UserCreateStatus.InvalidQuestion: return "The password retrieval question provided is invalid. Please check the value and try again."; case UserCreateStatus.InvalidUserName: return "The user name provided is invalid. Please check the value and try again."; case UserCreateStatus.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 UserCreateStatus.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> /// Retruns a String corresponding to the Registration Status of the User /// </summary> /// <param name="UserRegistrationStatus">The AUserCreateStatus</param> /// <returns>A String</returns> public static string GetUserCreateStatus(UserCreateStatus UserRegistrationStatus) { if (UserRegistrationStatus == UserCreateStatus.DuplicateEmail) { return Localization.GetString("UserEmailExists"); } else if (UserRegistrationStatus == UserCreateStatus.InvalidAnswer) { return Localization.GetString("InvalidAnswer"); } else if (UserRegistrationStatus == UserCreateStatus.InvalidEmail) { return Localization.GetString("InvalidEmail"); } else if (UserRegistrationStatus == UserCreateStatus.InvalidQuestion) { return Localization.GetString("InvalidQuestion"); } else if (UserRegistrationStatus == UserCreateStatus.InvalidUserName) { return Localization.GetString("InvalidUserName"); } else if (UserRegistrationStatus == UserCreateStatus.UserRejected) { return Localization.GetString("UserRejected"); } else if (UserRegistrationStatus == UserCreateStatus.PasswordMismatch) { return Localization.GetString("PasswordMismatch"); } else if (UserRegistrationStatus == UserCreateStatus.UsernameAlreadyExists || UserRegistrationStatus == UserCreateStatus.UserAlreadyRegistered || UserRegistrationStatus == UserCreateStatus.DuplicateUserName) { return Localization.GetString("UserNameExists"); } else if (UserRegistrationStatus == UserCreateStatus.DuplicateProviderUserKey || UserRegistrationStatus == UserCreateStatus.InvalidProviderUserKey || UserRegistrationStatus == UserCreateStatus.ProviderError) { return Localization.GetString("RegError"); } else if (UserRegistrationStatus == UserCreateStatus.Success || UserRegistrationStatus == UserCreateStatus.UnexpectedError) { return null; } else if (UserRegistrationStatus == UserCreateStatus.InvalidPassword) { string replace = Localization.GetString("InvalidPassword"); replace = replace.Replace("[PasswordLength]", MembershipProviderConfig.MinPasswordLength.ToString()); return replace.Replace("[NoneAlphabet]", MembershipProviderConfig.MinNonAlphanumericCharacters.ToString()); } return null; }
/// <summary> /// 创建用户 /// </summary> /// <param name="user">待创建的用户</param> /// <param name="password">密码</param> /// <param name="passwordQuestion">密码问题</param> /// <param name="passwordAnswer">密码答案</param> /// <param name="ignoreDisallowedUsername">是否忽略禁用的用户名称</param> /// <param name="userCreateStatus">用户帐号创建状态</param> /// <returns>创建成功返回IUser,创建失败返回null</returns> public IUser CreateUser(IUser user, string password, string passwordQuestion, string passwordAnswer, bool ignoreDisallowedUsername, out UserCreateStatus userCreateStatus) { User user_object = user as User; if (user_object == null) { userCreateStatus = UserCreateStatus.UnknownFailure; return null; } //密码不合法 string errorMessage = string.Empty; if (!Utility.ValidatePassword(password, out errorMessage)) { userCreateStatus = UserCreateStatus.InvalidPassword; return null; } ISettingsManager<UserSettings> userSettingsManager = DIContainer.Resolve<ISettingsManager<UserSettings>>(); UserSettings userSettings = userSettingsManager.Get(); user_object.PasswordFormat = (int)userSettings.UserPasswordFormat; user_object.Password = UserPasswordHelper.EncodePassword(password, userSettings.UserPasswordFormat); user_object.PasswordQuestion = passwordQuestion; user_object.PasswordAnswer = passwordAnswer; user_object.IsModerated = userSettings.AutomaticModerated; EventBus<User, CreateUserEventArgs>.Instance().OnBefore(user_object, new CreateUserEventArgs(password)); user = userRepository.CreateUser(user_object, ignoreDisallowedUsername, out userCreateStatus); if (userCreateStatus == UserCreateStatus.Created) EventBus<User, CreateUserEventArgs>.Instance().OnAfter(user_object, new CreateUserEventArgs(password)); return user; }