/// <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); }
/// <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); }