簡體   English   中英

如何使用系統憑據自動登錄該站點?

[英]How to automatically login to the site using system credentials?

我需要為Intranet用戶開發一個Web應用程序。 我不希望他們每次訪問網站時都輸入登錄憑據。 它應該從系統用戶名和密碼自動加載。 即如果他們有一個有效的系統用戶名和密碼,他們應該能夠登錄到該應用程序。 我正在使用Java。 如何滿足這個要求?

你可以試試華夫餅干夫餅干進行單點登錄。
您可以使用華夫餅干實現自動身份驗證。 我用它來做內網webapp項目。 要從活動目錄獲取更多信息,可以使用COM4J COM4J

您可以使用華夫餅干和COM4J來解決此問題。 您需要記住的是,華夫餅干僅適用於Windows憑據。 您可以在UI端代碼中使用waffle api進行自動登錄。 如果要在java端編寫自動登錄代碼,COM4J api非常有用。

SSO(單點登錄)可用於使用系統憑據自動登錄。 Waffle用於在活動目錄上實現SSO。 它在本地計算機和活動目錄之間進行協商。 但是,一旦用戶通過身份驗證,就無法使用Waffle檢索所有參數。 因為可以使用Com4j

您正在尋找的是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服務器來支持它。

Single Sign On解決方案還可能支持針對Microsoft Active Directory的憑據驗證,但無縫集成的性質可能因產品而異。

此外,使用中的瀏覽器也很重要。 自IE 5以及某些版本的Firefox以來,WNA可用。 自5版以來,它似乎在Google Chrome中可用 NTLM身份驗證最初也是在Opera 9中引入的。

使用簡單的ftpclient(apache提供一個)來復制文件。 它會提供更好的性能

暫無
暫無

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

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