2015-11-01 92 views
1

考慮到以下情況:Active Directory - 使用Web應用程序中的當前登錄用戶,可能嗎?

1)用戶在具有活動目錄域的windows桌面計算機上進行登錄。

2)登錄後,用戶將自動打開需要使用當前登錄/活動目錄的會話/令牌登錄Web應用程序的Web瀏覽器和類型以及URL。

例如: 登錄活動目錄後,用戶打開url http://intranet.myplace.com,打開的第一頁需要檢測AD當前登錄用戶的憑證。

有可能嗎? 我無法找到關於從JavaScript獲取AD憑證的信息。

+0

你在說Kerberos嗎? – Marged

+0

nope ...我需要通過當前登錄的Windows用戶自動登錄webapp – Leonardo

+0

這是_is_ Kerberos的功能,但它不適用於唯一的JavaScript方法。我認爲_nothing_無效或沒有服務器端方法是安全的 – Marged

回答

1

不,這是不可能的,只有客戶端方法。無論使用JavaScript還是ActiveX:您都需要服務器端的東西。除此之外,ActiveX將限制您訪問某些瀏覽器,這可以在公司環境中正常運行,我認爲您處於此狀態。

JavaScript無法查詢客戶端的登錄上下文。即使它是你應該在服務器上驗證這一點。

要實現您所描述的內容,您需要使用Kerberos或IIS或Apache提供的基於挑戰響應的技術。 如果你想要一個安全的方法找到能夠配置服務器的人。

1

是的,這是可能的。它被稱爲單點登錄(SSO)。如果你使用.NET,你可以使用下面的代碼。

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

您必須在服務器端執行此操作。

+0

您好,感謝您的回覆。 但是,情況並非如此......我無法使用任何服務器端工具或任何activeX。只是JavaScript。 – Leonardo

+0

你不能單獨在客戶端進行身份驗證,JavaScript可以很容易地由客戶端修改,因此是不安全的。 @Leonardo – toskv

+0

是的。 @toskv是正確的。 JS不建議進行身份驗證。 –

相關問題