Ejemplo n.º 1
0
 private MembershipUser GetMembershipUserFromPersistedEntity(WebUser user)
 {
     return new MembershipUser(Name,
         user.Email,
         user.UserID,
         user.Email,
         null,
         null,
         true,
         false,
         DateTime.MinValue,
         DateTime.MinValue,
         DateTime.MinValue,
         DateTime.MinValue,
         DateTime.MinValue);
 }
Ejemplo n.º 2
0
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            // Validate email/password
            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;
            }

            // Check whether user with passed username already exists
            MembershipUser user;
            try
            {
                user = GetUser(username, false);
            }
            catch (ProviderException)
            {
                user = null;
            }

            if (user == null)
            {
                DateTime creationDate = DateTime.Now.ToUniversalTime();

                if (providerUserKey != null)
                {
                    if (!(providerUserKey is Int32))
                    {
                        status = MembershipCreateStatus.InvalidProviderUserKey;
                        return null;
                    }
                }

                // Need to add roles
                WebUser newUser = new WebUser
                {
                    Email = username,
                    Password = EncodePassword(password)
                };

                try
                {
                    WebUser response;

                    using (WebUsersController wuc = new WebUsersController())
                    {
                        response = wuc.AddNew(newUser);
                    }

                    status = (response != null) ? MembershipCreateStatus.Success : MembershipCreateStatus.ProviderError;
                }
                catch (Exception)
                {
                    status = MembershipCreateStatus.UserRejected;
                }

                return GetUser(username, false);
            }

            status = MembershipCreateStatus.DuplicateUserName;

            return null;
        }