示例#1
0
		public CreateUserStatus CreateUser(RegistrationData user,
			[Required(ErrorMessageResourceName = "ValidationErrorRequiredField", ErrorMessageResourceType = typeof(ValidationErrorResources))]
            [RegularExpression("^.*[^a-zA-Z0-9].*$", ErrorMessageResourceName = "ValidationErrorBadPasswordStrength", ErrorMessageResourceType = typeof(ValidationErrorResources))]
            [StringLength(50, MinimumLength = 7, ErrorMessageResourceName = "ValidationErrorBadPasswordLength", ErrorMessageResourceType = typeof(ValidationErrorResources))]
            string password)
		{
			if (user == null)
			{
				throw new ArgumentNullException("user");
			}

			// Run this BEFORE creating the user to make sure roles are enabled and the default role is available.
			//
			// If there is a problem with the role manager, it is better to fail now than to fail after the user is created.
			if (!Roles.RoleExists(UserRegistrationService.DefaultRole))
			{
				Roles.CreateRole(UserRegistrationService.DefaultRole);
			}

			// NOTE: ASP.NET by default uses SQL Server Express to create the user database. 
			// CreateUser will fail if you do not have SQL Server Express installed.
			MembershipCreateStatus createStatus;
			Membership.CreateUser(user.UserName, password, user.Email, user.Question, user.Answer, true, null, out createStatus);

			if (createStatus != MembershipCreateStatus.Success)
			{
				return UserRegistrationService.ConvertStatus(createStatus);
			}

			// Assign the user to the default role.
			// This will fail if role management is disabled.
			Roles.AddUserToRole(user.UserName, UserRegistrationService.DefaultRole);

			// Set the friendly name (profile setting).
			// This will fail if the web.config is configured incorrectly.
			ProfileBase profile = ProfileBase.Create(user.UserName, true);
			profile.SetPropertyValue("FriendlyName", user.FriendlyName);
			profile.Save();

			return CreateUserStatus.Success;
		}
示例#2
0
 /// <summary>
 /// Asynchronously invokes the 'CreateUser' method of the DomainService.
 /// </summary>
 /// <param name="user">The value for the 'user' parameter of this action.</param>
 /// <param name="password">The value for the 'password' parameter of this action.</param>
 /// <returns>An operation instance that can be used to manage the asynchronous request.</returns>
 public InvokeOperation<CreateUserStatus> CreateUser(RegistrationData user, [RegularExpression("^.*[^a-zA-Z0-9].*$", ErrorMessageResourceName="ValidationErrorBadPasswordStrength", ErrorMessageResourceType=typeof(ValidationErrorResources))] [Required(ErrorMessageResourceName="ValidationErrorRequiredField", ErrorMessageResourceType=typeof(ValidationErrorResources))] [StringLength(50, ErrorMessageResourceName="ValidationErrorBadPasswordLength", ErrorMessageResourceType=typeof(ValidationErrorResources), MinimumLength=7)] string password)
 {
     Dictionary<string, object> parameters = new Dictionary<string, object>();
     parameters.Add("user", user);
     parameters.Add("password", password);
     this.ValidateMethod("CreateUser", parameters);
     return ((InvokeOperation<CreateUserStatus>)(this.InvokeOperation("CreateUser", typeof(CreateUserStatus), parameters, true, null, null)));
 }