2010-10-06 32 views
3

我需要在我的java web應用程序中實現單點登錄,它可以實現以下功能: 所有計算機加入我的域smb.local,在用戶登錄到計算機後輸入http://localhost:8080,我的應用程序知道使用當前登錄的用戶登錄到我的Web應用程序。 那麼我應該實施什麼協議?或有任何參考? 非常感謝!如何在我的java項目中實現單點登錄?

回答

2

如果你想「自動」提取用戶的Windows憑據,一個選項(可能是唯一的一個?)是NTLM。一旦你已經獲得了證書,你需要檢查他們與權威來源 - Active Directory公開細節作爲LDAP,所以大多數安全框架將能夠應付這種情況。

幾年前我已經用Spring Security做過這樣的事情,包括根據Windows組成員身份派生特權,並且它工作得很好。

+0

但是您仍然需要再次登錄SSO服務器,對不對? – 2010-10-06 15:01:05

+0

CAn Kerberos支持自動提取用戶的Windows憑據? – MemoryLeak 2010-10-07 01:46:04

+0

@Colin:哪個SSO服務器?在這種情況下,我假設我們使用Windows的Active Directory作爲提供者,並且您已*登錄到域中。即使你沒有,你也會被要求提供你的** Windows **證書,所以至少它仍然是「單一登錄」,因爲它有一組憑證和一個權威來源,而不必記住其他組合。 – 2010-10-07 07:56:16

1

最近我與CAS from Jasig合作,您還可以檢查OpenSSOJosso有SSO。從那裏,你會發現每個項目的文檔以及如何將它集成到你的應用程序中。

對於自動連接「只要你登錄電腦」,我不知道這甚至是可能的。如果是這樣,你一定需要一個特定的瀏覽器(以及這個瀏覽器的一些插件)。

0

身份驗證集中在任何地方(例如LDAP)?