コード例 #1
0
ファイル: MembershipUserManager.cs プロジェクト: chalaris/CMS
        public virtual void EditMemberProfile(Kooboo.CMS.Membership.Models.Membership membership, string userName, string email, string culture, string timeZoneId, string passwordQuestion = null,
                                              string passwordAnswer = null, Dictionary <string, string> profiles = null)
        {
            membership = membership.AsActual();

            MembershipUser membershipUser = new MembershipUser()
            {
                Membership = membership, UserName = userName
            }.AsActual();

            if (membershipUser == null)
            {
                throw new ArgumentException("The member doest not exists.");
            }
            if (!string.IsNullOrEmpty(email))
            {
                membershipUser.Email = email;
            }
            membershipUser.Culture          = culture;
            membershipUser.TimeZoneId       = timeZoneId;
            membershipUser.PasswordQuestion = passwordQuestion;
            membershipUser.PasswordAnswer   = passwordAnswer;
            membershipUser.Profiles         = profiles;

            _provider.Update(membershipUser, membershipUser);
        }
コード例 #2
0
ファイル: MembershipUserManager.cs プロジェクト: chalaris/CMS
        public virtual void Edit(Kooboo.CMS.Membership.Models.Membership membership, string userName, string email, bool isApproved, bool isLockedOut, string culture, string timeZoneId, string passwordQuestion = null,
                                 string passwordAnswer = null, string[] membershipGroups = null, Dictionary <string, string> profiles = null, string comment = null)
        {
            membership = membership.AsActual();

            MembershipUser membershipUser = new MembershipUser()
            {
                Membership = membership, UserName = userName
            }.AsActual();

            if (membershipUser == null)
            {
                throw new ArgumentException("The member doest not exists.");
            }
            membershipUser.Email            = email;
            membershipUser.Culture          = culture;
            membershipUser.TimeZoneId       = timeZoneId;
            membershipUser.PasswordQuestion = passwordQuestion;
            membershipUser.PasswordAnswer   = passwordAnswer;
            membershipUser.Comment          = comment;
            membershipUser.IsApproved       = isApproved;
            membershipUser.IsLockedOut      = isLockedOut;
            membershipUser.Profiles         = profiles;
            membershipUser.MembershipGroups = membershipGroups;

            _provider.Update(membershipUser, membershipUser);
        }
コード例 #3
0
        public virtual MembershipUser CreateOrUpdateOAuthMember(Kooboo.CMS.Membership.Models.Membership membership, MembershipConnect membershipConnect, AuthResult authResult, Dictionary <string, string> profiles)
        {
            membership        = membership.AsActual();
            membershipConnect = membershipConnect.AsActual();

            var            userName       = _oauthMembershipProvider.GetUserName(authResult, membershipConnect);
            var            email          = _oauthMembershipProvider.GetEmail(authResult, membershipConnect);
            MembershipUser membershipUser = new MembershipUser()
            {
                Membership = membership, UserName = userName
            }.AsActual();
            Dictionary <string, string> extraData = null;

            if (authResult.ExtraData != null)
            {
                extraData = new Dictionary <string, string>(authResult.ExtraData);
            }
            if (membershipUser != null)
            {
                if (membershipUser.ProviderUserId == authResult.ProviderUserId)
                {
                    membershipUser.UtcLastLoginDate  = DateTime.UtcNow;
                    membershipUser.ProviderExtraData = extraData;
                    membershipUser.Profiles          = profiles;
                    if (profiles != null)
                    {
                        if (membershipUser.Profiles == null)
                        {
                            membershipUser.Profiles = new Dictionary <string, string>();
                        }
                        foreach (var item in profiles)
                        {
                            membershipUser.Profiles[item.Key] = item.Value;
                        }
                    }
                    membershipUser.MembershipGroups = membershipConnect.MembershipGroups;
                    _provider.Update(membershipUser, membershipUser);
                }
            }
            else
            {
                membershipUser = new MembershipUser()
                {
                    Membership = membership, UserName = userName
                };
                membershipUser.Email             = email;
                membershipUser.IsApproved        = true;
                membershipUser.UtcCreationDate   = DateTime.UtcNow;
                membershipUser.UtcLastLoginDate  = DateTime.UtcNow;
                membershipUser.Profiles          = profiles;
                membershipUser.MembershipGroups  = membershipConnect.MembershipGroups;
                membershipUser.ProviderType      = authResult.Provider;
                membershipUser.ProviderUserId    = authResult.ProviderUserId;
                membershipUser.ProviderExtraData = extraData;
                _provider.Add(membershipUser);
            }

            return(_provider.Get(membershipUser));
        }
コード例 #4
0
ファイル: MembershipUserManager.cs プロジェクト: chalaris/CMS
        public virtual MembershipUser Create(Kooboo.CMS.Membership.Models.Membership membership, string userName, string email, string password, bool isApproved, string culture, string timeZoneId, string passwordQuestion = null,
                                             string passwordAnswer = null, string[] membershipGroups = null, Dictionary <string, string> profiles = null, string comment = null)
        {
            membership = membership.AsActual();

            MembershipUser membershipUser = new MembershipUser()
            {
                Membership = membership
            };

            membershipUser.UserName = userName;
            List <DataViolationItem> violations = new List <DataViolationItem>();

            if (membershipUser.AsActual() != null)
            {
                violations.Add(new DataViolationItem("UserName", userName, "DuplicateUserName"));
            }
            if (_provider.QueryUserByEmail(membership, email) != null)
            {
                violations.Add(new DataViolationItem("Email", email, "DuplicateEmail"));
            }
            if (violations.Count > 0)
            {
                throw new DataViolationException(violations);
            }

            if (!string.IsNullOrEmpty(email))
            {
                membershipUser.Email = email;
            }
            membershipUser.Culture          = culture;
            membershipUser.TimeZoneId       = timeZoneId;
            membershipUser.PasswordQuestion = passwordQuestion;
            membershipUser.PasswordAnswer   = passwordAnswer;
            membershipUser.Comment          = comment;
            membershipUser.IsApproved       = isApproved;
            if (!membershipUser.IsApproved)
            {
                string activateCode = UniqueIdGenerator.GetInstance().GetBase32UniqueId(10);
                membershipUser.ActivateCode = activateCode;
            }
            membershipUser.UtcCreationDate  = DateTime.UtcNow;
            membershipUser.Profiles         = profiles;
            membershipUser.MembershipGroups = membershipGroups;

            SetPassword(membership, membershipUser, password);


            _provider.Add(membershipUser);

            return(_provider.Get(membershipUser));
        }
コード例 #5
0
ファイル: MembershipUserManager.cs プロジェクト: chalaris/CMS
        public virtual void ChangePassword(Kooboo.CMS.Membership.Models.Membership membership, string userName, string newPassword)
        {
            membership = membership.AsActual();
            MembershipUser membershipUser = new MembershipUser()
            {
                Membership = membership, UserName = userName
            }.AsActual();

            if (membershipUser == null)
            {
                throw new ArgumentException("The member doest not exists.");
            }

            SetPassword(membership, membershipUser, newPassword);
            membershipUser.UtcLastPasswordChangedDate = DateTime.UtcNow;

            _provider.Update(membershipUser, membershipUser);
        }