2012-03-14 64 views
0

如何檢查登錄到本機的當前用戶是活動目錄用戶還是應用程序的一部分?比較當前登錄的活動目錄和db用戶?

我正在構建基於AD進行身份驗證的遺留應用程序的擴展。該數據庫具有ad_user_name,我想將ad_user_name與實際在活動目錄中保存的用戶名進行比較。

如果用戶名相同,則可以訪問我的編輯視圖。如果用戶不同,那麼出現了問題,他們看不到任何東西。

編輯:有服務器只運行.NET 2.0

回答

1

如果您使用的是.NET 3.5中使用此代碼,而不是一個可能性。

認證用戶:如果你需要找到用戶R/W

PrincipalContext adContext = new PrincipalContext(ContextType.Domain); 

using (adContext) 
{ 
    return adContext.ValidateCredentials(UserName, Password); 
} 

屬性對象做到這一點:

PrincipalContext context = new PrincipalContext(ContextType.Domain); 
UserPrincipal foundUser = UserPrincipal.FindByIdentity(context, "jdoe"); 

這是使用System.DirectoryServices.AccountManagement命名空間,所以你」你需要將它添加到你的使用語句。

如果你需要一個UserPrincipal對象轉換爲DirectoryEntry對象與舊代碼,你可以做到這一點的工作:

DirectoryEntry userDE = (DirectoryEntry)foundUser.GetUnderlyingObject(); 
+0

一個將如何做到這一點,只有NET 2.0一個雙贏2003服務器上? – 2012-03-14 11:39:59

+0

akash你是來自尼泊爾? namaste :) – 2012-03-14 16:54:55

+0

Namaster,我來自Nepallll .......你以前去過尼泊爾嗎? – 2012-03-15 04:32:34