2014-09-21 2 views
0

Я искал способ, чтобы определить, если в аккаунте пользоваегося справочника отключен или нет, но с помощью PrincipalContext подхода:Определите, если учетная запись пользователя директории является отключенной учетной записью, используя PrincipalContext подхода

using (var validatePrincipalContext = GetPrincipalContext()) 
{   
    using (var retrievedUserPrincipal = UserPrincipal.FindByIdentity(validatePrincipalContext, directoryUserName)) 
    { 
     if (retrievedUserPrincipal == null) 
     { 
      LogMessage(String.Format("User {0} failed to verify on {1}.", directoryUserName, domainNameV), Severity.Error); 

      throw new PlatformException(ErrorCode.DomainCredentialsFailed, new Dictionary<string, string> 
      { 
       {"ADUserName", directoryUserName}, 
       {"DirectoryIdentifier", domainNameV} 
      }); 
     } 

     // Actual validation 
     if (validatePrincipalContext.ValidateCredentials(directoryUserName, directoryUserPassword)) 
     { 
      LogMessage(String.Format("User {0} verified successfully on {1}.", directoryUserName, domainNameV), Severity.Info); 

      return retrievedUserPrincipal.UserPrincipalName; 
     } 

     LogMessage(String.Format("User {0} failed to verify on {1}.", directoryUserName, domainNameV), Severity.Info); 

     return String.Empty; 
    } 
} 

Я искал здесь и посмотрите, как некоторые люди используют второй подход с каталогами: подход DirectoryEntry и DirectorySearcher (How to determine if user account is enabled or disabled). Я не могу использовать это как я сделал все, что с PrincipalContext

ответ

0

У вас есть несколько свойств и методов на UserPrincipal что вы можете проверить:

  • Enabled: действительно ли включена учетная запись пользователя
  • IsAccountLockedOut() : Возвращает логическое значение, определяющее, заблокирована ли учетная запись.

За дополнительной информацией обращайтесь к official MSDN documentation on UserPrincipal.

+0

Я удивляюсь, как я пропустил это. Я проверю это. – DoomerDGR8

Смежные вопросы