簡體   English   中英

使用PrincipalContext方法確定目錄用戶的帳戶是否已禁用帳戶

[英]Determine if a directory user's account is disabled account using PrincipalContext approach

我一直在尋找一種確定目錄用戶帳戶是否被禁用的方法,但是使用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方法( 如何確定用戶帳戶是啟用還是禁用 )。 我不能使用它,因為我已經完成了PrincipalContext

您可以檢查UserPrincipal上的多個屬性和方法:

  • Enabled :是否Enabled了用戶帳戶
  • IsAccountLockedOut() :返回一個布爾值,該布爾值指定該帳戶當前是否被鎖定。

有關更多詳細信息,請參閱UserPrincipal官方MSDN文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM