Beispiel #1
0
        /// <summary>
        /// 修改用户信息
        /// </summary>
        /// <param name="token">令牌</param>
        /// <param name="user"></param>
        public void ChangeInfo(string operationUserId, UserChangeInfo changeInfo)
        {
            User opUser = this.OrganizationManager.UserManager.GetUserById(operationUserId);
            User user   = this.OrganizationManager.UserManager.GetUserById(changeInfo.ID);

            user.Change(opUser, changeInfo);
        }
Beispiel #2
0
 public virtual void OnChanged(UserChangeInfo changeInfo)
 {
     if (this.Changed != null)
     {
         this.Changed(changeInfo.ChangeUser, changeInfo);
     }
 }
Beispiel #3
0
        public virtual void Change(User operationUser, UserChangeInfo changeInfo)
        {
            if (operationUser == null)
            {
                throw new ArgumentNullException("operationUser");
            }
            if (string.IsNullOrEmpty(changeInfo.Name))
            {
                throw new UserNameEmptyException();
            }

            if (this.Changing != null)
            {
                this.Changing(this, changeInfo);
            }

            this.Name   = changeInfo.Name;
            this.Email  = changeInfo.Email;
            this.Gender = changeInfo.Gender;

            if (this.Changed != null)
            {
                this.Changed(this, changeInfo);
            }
        }
Beispiel #4
0
 private void UserEvents_Changed(User sender, UserChangeInfo args)
 {
     using (UserEventQueue eventQueue = new UserEventQueue())
     {
         eventQueue.SendChangedMessage(sender.Id);
     }
 }
Beispiel #5
0
        public virtual void ImportPassword(string password, User user, OperationInfo opInfo)
        {
            UserChangeInfo changeInfo = new UserChangeInfo(user);

            changeInfo.Password = password;

            this.Change(changeInfo);
        }
Beispiel #6
0
 public virtual void ChangeSignInInfo(UserChangeInfo changeInfo)
 {
     this.LastLoginTime = changeInfo.LastLoginTime;
     this.LastLoginIp   = changeInfo.LastLoginIp;
     if (this.ChangedSignInInfo != null)
     {
         this.ChangedSignInInfo(this, changeInfo);
     }
 }
Beispiel #7
0
        public virtual void Logoff(User logoffUser, OperationInfo opInfo)
        {
            UserStatus     status     = UserStatus.Logoff;
            UserChangeInfo changeInfo = new UserChangeInfo(logoffUser);

            changeInfo.Status = status;

            this.Change(changeInfo);

            this.UserEvents.OnLogoff(logoffUser, opInfo);
        }
Beispiel #8
0
        public virtual void ResetPassword(User user, string newPassword, OperationInfo opInfo)
        {
            string         encodedNewPassword = Cryptography.MD5Encode(newPassword);
            UserChangeInfo changeInfo         = new UserChangeInfo(user);

            changeInfo.Password = encodedNewPassword;

            this.Change(changeInfo);

            this.UserEvents.OnPasswordReseted(user, opInfo);
        }
Beispiel #9
0
        public virtual void Activate(User activateUser, OperationInfo opInfo)
        {
            UserStatus     status     = UserStatus.Normal;
            UserChangeInfo changeInfo = new UserChangeInfo(activateUser);

            changeInfo.Status = status;

            this.Change(changeInfo);

            this.UserEvents.OnActivated(activateUser, opInfo);
        }
Beispiel #10
0
        public virtual void ImportPassword(User operationUser, string password)
        {
            UserChangeInfo changeInfo = new UserChangeInfo(this.MapUserInfo());

            changeInfo.Password = password;
            this.Password       = password;

            if (this.PasswordReseted != null)
            {
                this.PasswordReseted(this, changeInfo);
            }
        }
Beispiel #11
0
        public virtual string Add(string account, string password, string ip)
        {
            SignInResult signInResult = SignInResult.OK;
            string       token        = string.Empty;

            try
            {
                UserChangeInfo signInInfo = null;

                User     user     = null;
                UserInfo userInfo = null;
                try
                {
                    this._authenticator.Authenticate(account, password, ip);

                    token = this.GetToken(account, ip);
                    if (token != null)
                    {
                        return(token);
                    }
                }
                catch (PasswordWrongException)
                {
                    user                     = this._orgMnger.UserManager.GetUserByAccount(account);
                    userInfo                 = user.MapUserInfo();
                    signInInfo               = new UserChangeInfo(userInfo);
                    signInInfo.LastLoginIp   = user.LastLoginIp;
                    signInInfo.LastLoginTime = user.LastLoginTime;
                    user.ChangeSignInInfo(signInInfo);
                    throw new PasswordWrongException();
                }
                user     = this._orgMnger.UserManager.GetUserByAccount(account);
                userInfo = user.MapUserInfo();

                signInInfo = new UserChangeInfo(userInfo);
                signInInfo.LastLoginTime = DateTime.Now;
                signInInfo.LastLoginIp   = ip;
                user.ChangeSignInInfo(signInInfo);

                token = this.GenerateToken(account, password, ip);
            }
            catch (OrganizationException ex)
            {
                signInResult = AuthenticationHelper.Map(ex);
                throw ex;
            }
            finally
            {
                this.WriteLog(account, password, ip, signInResult);
            }

            return(token);
        }
Beispiel #12
0
        public virtual void Activate(User operationUser)
        {
            UserStatus     status     = UserStatus.Normal;
            UserChangeInfo changeInfo = new UserChangeInfo(this.MapUserInfo());

            changeInfo.Status = status;
            this.Status       = status;

            if (this.Activated != null)
            {
                this.Activated(this, changeInfo);
            }
        }
Beispiel #13
0
        public virtual void Logoff(User operationUser)
        {
            UserStatus     status     = UserStatus.Logoff;
            UserChangeInfo changeInfo = new UserChangeInfo(this.MapUserInfo());

            changeInfo.Status = status;
            this.Status       = status;

            if (this.Logoffed != null)
            {
                this.Logoffed(this, changeInfo);
            }
        }
Beispiel #14
0
        public void Change(UserChangeInfo changeInfo)
        {
            this.UserEvents.OnChanging(changeInfo);

            using (DataModelProvider <UserDataModel> dataModelProvider = this.DataModelProviderFactory.CreateDataProvider <UserDataModel>())
            {
                UserDataModel model = dataModelProvider.SelectById(changeInfo.ChangeUser.Id);
                this.MapperFactory.Map <UserDataModel, UserChangeInfo>(model, changeInfo);
                dataModelProvider.Update(model);

                this.UserEvents.OnChanged(changeInfo);
            }
        }
Beispiel #15
0
        public void Change()
        {
            User user = this.CreateUser();

            try
            {
                UserChangeInfo changeInfo = new UserChangeInfo(user);
                User           reloadUser = this.UserManager.GetById(user.Id);
                this.ObjectEqualAsserter.AssertEqual(changeInfo, reloadUser);
            }
            catch
            {
                this.Delete(user);
            }
        }
Beispiel #16
0
        public virtual void ChangePassword(User changeUser, string oldPassword, string newPassword)
        {
            string encodedOldPassword = Cryptography.MD5Encode(oldPassword);

            if (changeUser.Password != encodedOldPassword)
            {
                throw new OldPasswordWrongException();
            }
            string         encodedNewPassword = Cryptography.MD5Encode(newPassword);
            UserChangeInfo changeInfo         = new UserChangeInfo(changeUser);

            changeInfo.Password = encodedNewPassword;

            this.Change(changeInfo);
        }
Beispiel #17
0
        public ActionResult MoidfyCurrentUserInfo(string name, string email, string oldPassword, string newPassword)
        {
            ControllerResultModel resultModel = new ControllerResultModel();

            try
            {
                UserChangeInfo changeInfo = new UserChangeInfo(this.CurrentUser);
                changeInfo.Name  = name;
                changeInfo.Email = email;
                WebHelper.UserService.ChangeInfo(this.CurrentUser.ID, changeInfo);

                if (!string.IsNullOrEmpty(newPassword))
                {
                    WebHelper.UserService.ChangePassword(this.CurrentUser.Account, oldPassword, newPassword);
                }
            }
            catch (Exception ex)
            {
                resultModel.message = ex.Message;
                WebHelper.Logger.Error(ex.Message, ex);
            }
            return(Json(resultModel, JsonRequestBehavior.AllowGet));
        }
Beispiel #18
0
        private void UserEventManager_Changed(User user, UserChangeInfo changeInfo)
        {
            User snapshot = changeInfo.ChangeUser.Change(changeInfo);

            this.Change(changeInfo.ChangeUser, snapshot);
        }