Esempio n. 1
0
 public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
 {
     using (_log.NewTrace())
     {
         //WcfClientUtils.VerifyParameter("username", username);
         //WcfClientUtils.VerifyParameter("password", password);
         //WcfClientUtils.VerifyParameter("email", email);
         //WcfClientUtils.VerifyParameter("passwordQuestion", passwordQuestion);
         //WcfClientUtils.VerifyParameter("passwordAnswer", passwordAnswer);
         try
         {
             IdentityCreateRequest request = new IdentityCreateRequest();
             request.ServiceSessionToken = WcfClientUtils.SessionToken;
             request.Answer   = passwordAnswer;
             request.User     = new MembershipUser("scrimpNetMembershipProvider", username, providerUserKey, email, passwordQuestion, "", isApproved, false, DateTime.UtcNow, Utils.Date.SqlMinDate, Utils.Date.SqlMinDate, DateTime.UtcNow, Utils.Date.SqlMinDate);
             request.Password = password;
             IdentityCreateReply response = _membershipService.IdentityCreate(request);
             status = response.CreateStatus;
             return(response.User);
         }
         catch (Exception ex)
         {
             throw WcfUtils.Extract(ex);
         }
     }
 }
Esempio n. 2
0
        public IdentityCreateReply IdentityCreate(IdentityCreateRequest request)
        {
            try
            {
                IdentityCreateReply    response = new IdentityCreateReply();
                MembershipCreateStatus status   = MembershipCreateStatus.ProviderError;
                MembershipUser         user     = request.User;
                user = _membership.CreateUser(user.UserName, request.Password, user.Email, user.PasswordQuestion, request.Answer, user.IsApproved, user.ProviderUserKey, out status);
                setStatus(response, status);
                response.User         = user;
                response.CreateStatus = status;

                if (status == MembershipCreateStatus.Success && user != null)
                {
                    user.IsApproved = false;
                    user.Comment    = Guid.NewGuid().ToString();
                    _membership.UpdateUser(user);
                    response.ActivationKey = user.Comment;
                }
                return(response);
            }
            catch (Exception ex)
            {
                throw ex.NewFault();
            }
        }
Esempio n. 3
0
        private void setStatus(IdentityCreateReply response, MembershipCreateStatus status)
        {
            switch (status)
            {
            case MembershipCreateStatus.DuplicateEmail:
                response.Messages.Add(ActionStatus.Conflict, "EMail address already exists");
                break;

            case MembershipCreateStatus.DuplicateProviderUserKey:
                response.Messages.Add(ActionStatus.Conflict, "Provider User Key already exists");
                break;

            case MembershipCreateStatus.DuplicateUserName:
                response.Messages.Add(ActionStatus.Conflict, "Username already exists");
                break;

            case MembershipCreateStatus.InvalidAnswer:
                response.Messages.Add(ActionStatus.Error, "Answer is missing or invalid");
                break;

            case MembershipCreateStatus.InvalidEmail:
                response.Messages.Add(ActionStatus.Error, "EMail is missing or invalid");
                break;

            case MembershipCreateStatus.InvalidPassword:
                response.Messages.Add(ActionStatus.Error, "Password is invalid. Password " + expandPasswordRules());
                break;

            case MembershipCreateStatus.InvalidProviderUserKey:
                response.Messages.Add(ActionStatus.Error, "Invalid provider user key");
                break;

            case MembershipCreateStatus.InvalidQuestion:
                response.Messages.Add(ActionStatus.Error, "Question is missing or invalid");
                break;

            case MembershipCreateStatus.InvalidUserName:
                response.Messages.Add(ActionStatus.Error, "Username is missing or invalid");
                break;

            case MembershipCreateStatus.ProviderError:
                response.Messages.Add(ActionStatus.InternalError, "Membership provider discovered some kind of error");
                break;

            case MembershipCreateStatus.UserRejected:
                response.Messages.Add(ActionStatus.Error, "User not created");
                break;
            }
            response.CreateStatus = status;
            if (response.IsValid == true)
            {
                response.Status = ActionStatus.Created;
            }
            else
            {
                response.Status = response.Messages[0].Severity;
            }
        }