Ejemplo n.º 1
0
 /// <summary>
 /// 获取UserIdToUserNameAccessor实例
 /// </summary>
 /// <returns></returns>
 private static UserIdToUserNameDictionary Instance()
 {
     if (_defaultInstance == null)
     {
         lock (lockObject)
         {
             if (_defaultInstance == null)
             {
                 _defaultInstance = DIContainer.Resolve <UserIdToUserNameDictionary>();
                 if (_defaultInstance == null)
                 {
                     throw new ExceptionFacade("未在DIContainer注册UserIdToUserNameDictionary的具体实现类");
                 }
             }
         }
     }
     return(_defaultInstance);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 验证提供的用户名和密码是否匹配
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <returns>返回<see cref="UserLoginStatus"/></returns>
        public UserLoginStatus ValidateUser(string username, string password)
        {
            long userId = UserIdToUserNameDictionary.GetUserId(username);

            User user = userRepository.Get(userId);

            if (user == null)
            {
                return(UserLoginStatus.InvalidCredentials);
            }

            if (!UserPasswordHelper.CheckPassword(password, user.Password, (UserPasswordFormat)user.PasswordFormat))
            {
                return(UserLoginStatus.InvalidCredentials);
            }

            return(UserLoginStatus.Success);
        }