考慮到以下情況:Active Directory - 使用Web應用程序中的當前登錄用戶,可能嗎?
1)用戶在具有活動目錄域的windows桌面計算機上進行登錄。
2)登錄後,用戶將自動打開需要使用當前登錄/活動目錄的會話/令牌登錄Web應用程序的Web瀏覽器和類型以及URL。
例如: 登錄活動目錄後,用戶打開url http://intranet.myplace.com,打開的第一頁需要檢測AD當前登錄用戶的憑證。
有可能嗎? 我無法找到關於從JavaScript獲取AD憑證的信息。
考慮到以下情況:Active Directory - 使用Web應用程序中的當前登錄用戶,可能嗎?
1)用戶在具有活動目錄域的windows桌面計算機上進行登錄。
2)登錄後,用戶將自動打開需要使用當前登錄/活動目錄的會話/令牌登錄Web應用程序的Web瀏覽器和類型以及URL。
例如: 登錄活動目錄後,用戶打開url http://intranet.myplace.com,打開的第一頁需要檢測AD當前登錄用戶的憑證。
有可能嗎? 我無法找到關於從JavaScript獲取AD憑證的信息。
不,這是不可能的,只有客戶端方法。無論使用JavaScript還是ActiveX:您都需要服務器端的東西。除此之外,ActiveX將限制您訪問某些瀏覽器,這可以在公司環境中正常運行,我認爲您處於此狀態。
JavaScript無法查詢客戶端的登錄上下文。即使它是你應該在服務器上驗證這一點。
要實現您所描述的內容,您需要使用Kerberos或IIS或Apache提供的基於挑戰響應的技術。 如果你想要一個安全的方法找到能夠配置服務器的人。
是的,這是可能的。它被稱爲單點登錄(SSO)。如果你使用.NET,你可以使用下面的代碼。
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
您必須在服務器端執行此操作。
你在說Kerberos嗎? – Marged
nope ...我需要通過當前登錄的Windows用戶自動登錄webapp – Leonardo
這是_is_ Kerberos的功能,但它不適用於唯一的JavaScript方法。我認爲_nothing_無效或沒有服務器端方法是安全的 – Marged