我需要爲Intranet用戶開發一個Web應用程序。我不希望他們每次訪問該網站時都輸入登錄憑據。它應該從系統用戶名和密碼中自動加載。即如果他們有一個有效的系統用戶名和密碼,他們應該能夠登錄到應用程序。我正在使用Java。如何滿足這個要求?如何使用系統憑證自動登錄到網站?
回答
你在找什麼叫做Windows集成身份驗證。爲了能夠實現它,您的服務器需要支持針對Active Directory的身份驗證(使用Kerberos),並配置爲使用WWW-Authenticate:NTLM或Negotiate頭響應來自瀏覽器的未經身份驗證的請求。
我不能確切地告訴你如何做到這一點,而不知道你使用的服務器平臺。不過,假設你的平臺支持JAAS,這裏有一個博客帖子,讓關於配置的一些基礎知識 - http://webmoli.com/2009/08/29/single-sign-on-in-java-platform/
如果它特定於「Windows」,則可以使用NTLM身份驗證。例如http://davenport.sourceforge.net/ntlm.html
我不知道如果這有助於但是你可以看看如何HTTP客戶端可用於http://hc.apache.org/httpclient-3.x/authentication.html#NTLM
NTLM憑據可被傳遞到既支持SPNEGO(Kerberos的)或NTLM身份驗證(這兩者構成了Windows本地認證服務器)。不幸的是,並不是很多這樣的服務器默認支持這種服務。 Microsoft IIS就是支持您所需的身份驗證模式的服務器之一。
據我所知,在Java Web應用程序中實現這一點,將需要您在應用程序服務器上驗證對WNA的支持。例如,WebLogic Server在某種程度上確實支持這一點,但需要Microsoft IIS Web服務器來支持它。
單點登錄解決方案也可能支持針對Microsoft Active Directory的憑證驗證,但無縫集成的性質因產品而異。
此外,使用的瀏覽器也很重要。 WNA可用於IE 5以及Firefox的某些版本。 It appears to be available in Google Chrome since version 5。 NTLM身份驗證最初也是在Opera 9中引入的。
Chrome還支持NTLM/SPNEGO(雖然他們確實有一個小錯誤)。我相信Opera也支持它。事實上,在主流瀏覽器中,我認爲只有Safari不支持它。 – 2010-11-03 06:45:35
@Franci Penov,謝謝。我已經更新了答案。 Safari確實支持NTLM身份驗證,但我相信在使用SPNEGO而不是NTLM時,它是有問題的。 – 2010-11-03 07:00:20
使用簡單的ftpclient(apache提供一個)來複制文件。它會提供更好的性能
您可以使用waffle和COM4J來解決此問題。事情你需要記住的是華夫餅乾只適用於Windows憑據。您可以使用waffle api在您的UI端代碼中進行自動登錄。如果你想在java端編寫自動登錄的代碼,COM4J api很有用。
SSO(單點登錄)可用於使用系統憑證進行自動登錄。華夫餅用於在活動目錄上執行SSO。它在本地機器和活動目錄之間進行協商。但是,一旦用戶通過認證,所有參數都不能使用Waffle檢索。可以使用Com4j。
- 1. Windows系統登錄憑證
- 2. 如何編寫網站登錄系統
- 3. 自動登錄到網站
- 4. 程序用戶的憑據,以自動登錄到網站
- 5. 如何將Twitter API憑證與我的網站登錄憑證相關聯?
- 6. 如何使用vbscript自動登錄到網站?
- 7. 使用cURL自動網站登錄
- 8. 自動將用戶登錄到您的網站後面的系統
- 9. 當用戶登錄到新網站時自動登錄到舊網站
- 10. 登錄使用Gmail憑證
- 11. 如何自動登錄IIS網站?
- 12. 我的網站外部登錄系統
- 13. 如何使用HttpWebRequest登錄到網站
- 14. 如何使用Python登錄到網站?
- 15. 使用Sharepoint憑證登錄到PowerApps
- 16. 如何使用guzzlehttp登錄到使用登錄憑證的應用程序?
- 17. vb.net自動登錄到網站
- 18. 從桌面自動登錄到網站
- 19. 的jQuery/AJAX自動登錄到網站
- 20. 從Shopify自動登錄到php網站
- 21. 自動登錄到其他網站PHP
- 22. 自動登錄到網站 - Java
- 23. 將openID和oauth集成爲網站登錄,登錄和身份驗證系統
- 24. 使用cURL爲我的網站上的登錄系統驗證用戶身份?
- 25. 使用Facebook APP身份驗證自動登錄到移動網站?
- 26. 驗證外部網站的登錄憑證
- 27. 使用相同的憑證登錄到兩個Joomla!網站(1.5和1.6)
- 28. 將OpenID與現有網站登錄系統結合使用
- 29. 如何使用python登錄到網站(wifi登錄頁面)?
- 30. 網站登錄系統 - 使用websocket服務器進行身份驗證
你是什麼意思的系統用戶名和密碼?您是否指NTLM身份驗證期間使用的憑據? – 2010-11-03 06:11:01
@Vineet雷諾茲yes..this是我想要的 – rgksugan 2010-11-03 06:25:49