Exemplo n.º 1
0
 /// <summary>
 /// 使用通行证登录系统
 /// </summary>
 /// <param name="loginName"></param>
 /// <param name="password"></param>
 /// <param name="passport">登陆成功以后返回实体</param>
 /// <returns></returns>
 private bool Login(string loginName, string password, out SYSPassport passport)
 {
     passport = null;
     if (string.IsNullOrEmpty(loginName) || string.IsNullOrEmpty(password))
     {
         return(false);
     }
     //检查用户信息
     passport = _passportRepository.Get(item => item.LoginName == loginName);
     if (passport.ID == null || passport.IsValid == false)
     {
         return(false);
     }
     //检查登录锁定
     if (passport.CheckLock())
     {
         return(false);
     }
     passport.UnLock();
     //检查密码
     if (passport.CheckPassword(password))
     {
         passport.LastLoginTime = DateTime.Now;
         _passportRepository.Modify(passport);
         return(true);
     }
     passport.PasswordError();
     _passportRepository.Modify(passport);
     return(false);
 }
Exemplo n.º 2
0
        /// <summary>
        /// 注册通行证
        /// </summary>
        /// <param name="passport"></param>
        /// <returns></returns>
        /// <exception cref="BIStudio.Framework.DefinedException"></exception>
        public SYSPassport PassportRegist(SYSPassportRegistDTO passport)
        {
            if (string.IsNullOrEmpty(passport.LoginName) || !ALValidator.IsLengthStr(passport.LoginName, 4, 50) || !ALValidator.IsNormalChar(passport.LoginName))
            {
                throw CFException.Create(SYSPassportRegistResult.LoginNameInvalid);
            }
            if (string.IsNullOrEmpty(passport.Password) || !ALValidator.IsLengthStr(passport.Password, 6, 16))
            {
                throw CFException.Create(SYSPassportRegistResult.PasswordTooWeak);
            }
            if (string.IsNullOrEmpty(passport.RePassword) || passport.Password != passport.RePassword)
            {
                throw CFException.Create(SYSPassportRegistResult.RePasswordIncorrect);
            }
            if (string.IsNullOrEmpty(passport.Email) || !ALValidator.IsEmail(passport.Email))
            {
                throw CFException.Create(SYSPassportRegistResult.EmailInvalid);
            }

            try
            {
                if (_passportRepository.Get(item => item.LoginName == passport.LoginName).ID != null)
                {
                    throw CFException.Create(SYSPassportRegistResult.LoginNameAlreadyExists);
                }

                if (_passportRepository.Get(item => item.Email == passport.Email).ID != null)
                {
                    throw CFException.Create(SYSPassportRegistResult.EmailAlreadyExists);
                }

                var now    = DateTime.Now;
                var entity = new SYSPassport
                {
                    LoginName      = passport.LoginName,
                    Email          = passport.Email,
                    Remarks        = passport.Remarks,
                    LastLoginTime  = now,
                    LastLoginError = 0,
                    IsValid        = true,
                    IsLocked       = false,
                    Inputer        = CFContext.User.UserName,
                    InputerID      = CFContext.User.ID,
                    InputTime      = now
                };
                entity.Password = entity.ComputePassword(passport.LoginName, passport.Password);
                _passportRepository.Add(entity);
                return(entity);
            }
            catch (Exception ex)
            {
                throw CFException.Create(SYSPassportRegistResult.Fail, ex.Message, ex);
            }
        }