2011-01-21 28 views
1

問題描述: Theren是兩個子系統。一個是基於Web的Java EE應用程序,另一個是Cognos報告工具。目前,這兩個應用程序都提供單獨的登錄頁面,允許用戶按照系統中定義的角色執行其活動。 Java EE用戶可以使用其登錄頁面直接登錄到Java EE應用程序。同樣,Cognos用戶可以使用其登錄頁面通過提供其Intranet ID憑據登錄到Portal。Java EE和Cognos應用程序之間的SSO

有一個需求,其中Java EE應用程序的用戶應該能夠通過單擊Java EE Web應用程序中的URL鏈接來查看Cognos報告。目前,單擊此URL將打開提示輸入用戶憑證的Cognos門戶。

我期待有一個解決方案,可以幫助我們繞過Cognos Portal登錄頁面,當點擊URL時。這將幫助已登錄Java EE應用程序的用戶在新網頁上查看Cognos報告,而無需再次登錄。

回答

0

您將通過以下步驟實現您的應用和Cognos之間的單點登錄:

(我會假設你正在使用LDAP和Java)

  • 安裝COGNOS SDK在您已有Cognos BI服務器的開發機器上。要嘗試捆綁Cognos SDK的示例,您需要JDK。如果您已經在沒有JDK的情況下運行Cognos,那麼Cognos可能會使用它的捆綁JRE,但不幸的是它不是來自Oracle。在這種情況下,您可能需要卸載Cognos,首先安裝Oracle JDK,然後重新安裝Cognos和Cognos SDK。否則,你會遇到一些密碼不兼容問題。
  • 確保您已正確配置完整的身份驗證提供程序名稱空間,如LDAP。
  • 轉到隨Cognos SDK一起提供的TrustedSignonSample。在Cognos 10中,可以在$ COGNOS_SDK/java/AuthenticationProvider下找到Java示例。
  • 修改TrustedSignonSample.java並在那裏設置您的LDAP名稱空間標識。受信任的簽名提供程序將使用此名稱空間來驗證用戶是否存在。
  • 使用提供的build.bat構建示例,您應該得到一個jar文件。
  • 閱讀樣本附帶的「readme.txt」並正確配置此提供程序。
  • 現在,如果您轉到Cognos登錄頁面,應該會看到兩個名稱空間選擇。
  • 如果您在與Cognos相同的機器上運行您的應用程序,只需使用相應名稱(請參閱TrustedSignonSample作爲cookie名稱)和值創建一個cookie。您可以將Cookie的值設置爲當前登錄的用戶的應用程序。
  • 就是這樣,在設置cookie後,如果轉到Cognos登錄頁面並選擇自定義可信登錄提供程序名稱空間,則不會提示您進行登錄。
  • 如果您不希望Cognos根本顯示登錄頁面,則可以將自定義可信登錄提供程序的名稱空間配置爲Cognos配置中的默認值。
  • 如果您在與Cognos不同的計算機上運行應用程序,則必須在Cognos全局配置中進行更多配置,以確保它接受來自該計算機/域的Cookie。

欲瞭解更多信息,請參閱本 「線」:HTTP://businessintelligence.ittoolbox.com/groups/technical-functional/cognos-l/the-cookie-trusted_signon_user-is-not-set-4863689啓動由你真正的。

我以這種方式實現了Cognos和我的應用程序之間的單點登錄。我希望它能幫助你。