0

場景:單點登錄的ActiveDirectory和Java EE

  1. 我們賣的Java EE(JBoss的+ SpringSecurity)軟件到大型企業,其主要使用的ActiveDirectory
  2. 我們的Java EE(JBoss的)軟件,可掛接到ActiveDirectory,但它需要角色添加到ActiveDirectory即cn = esp_administrator,cn =角色,o =公司,o = com根據我的理解,JBoss將需要一個帳戶「綁定」到ActiveDirectory進行搜索即cn = admin,cn =用戶,o =公司,o = com
  3. 用戶仍然n EED手動登錄到我們的Java EE應用程序(而非單點登錄)
  4. 說我們的Java EE應用程序http://javaee-webapp和公司門戶之一是在http://intranet-portal說使用Atlassian的吉拉

我如何能實現單點登錄使用此設置? 一件事想到的是,從http://intranet-portal讀取cookies,但如果我們的Java EE Web應用程序是http://intranet-portal子域,即http://intranet-portal/javaee-webapp


我讀過以下QA

Single Sign On for a Web App這僅適用

Transparent user session over several sites (single sign-on + single sign-off)

我不認爲客戶希望我們安裝的Shibboleth IDProvider只是單點登錄。

除了「記住我」選項之外,我還有其他選擇嗎?

回答

1

你的確可以使用Shibboleth(或者可能是OpenSSO)。這可能相當複雜,需要爲所有將在此SSO範圍內的網站(服務提供商)進行部署。它專爲SSO身份驗證和授權而設計,不一定屬於同一站點。如果您的客戶希望在不太緊密的環境中使用SSO,他們將需要這種技術。 (請注意,實施Shibboleth最困難的部分不是安裝SP或IdP軟件,而是建立屬性發布和授權的策略:更多關於行政和政治而不是技術問題)。

如果客戶要連接的客戶機也受其控制(例如,如果它們是公司可配置的所有Windows桌面),則可以查看SPNEGO。這可以使用IE/Firefox(至少)在Windows/Linux/OSX客戶端上運行,但您需要將客戶端配置爲指向Active Directory服務器(作爲Kerberos KDC)。如果用戶必須在他們自己的機器上執行操作,這可能會引起混淆。

儘管如果您可以控制客戶端機器的配置,SPNEGO解決方案可能會更容易,但Shibboleth/OpenSSO解決方案在這方面會更加靈活(並且Shibboleth IdP可以使用SPNEGO作爲身份驗證機制,如果您想要這一切)。