Confluence

將 Jira 和 Confluence 與 OpenSSO 集成

  • February 16, 2011

是否可以為 Jira (4.0.1) 和 Confluence (3.1) 的最新版本使用 OpenSSO (express build 8) 實現單點登錄解決方案?是否可以完全集成 OpenSSO 使用者和組,或者僅集成身份驗證級別(這意味著 Jira 和 Confluence 中仍然存在使用者儲存)?

我已經嘗試查找有關此的資訊,但這對我來說仍然不清楚。我在以下位置找到了 OpenSSO 的 Seraph 提供程序擴展

https://opensso.dev.java.net/public/extensions/index.html

這個僅提供身份驗證並為 Jira 和 Confluence AFAICT 提供純 SSO。然後我還找到了 Jira 的擴展,它可以更好地與 OpenSSO 集成

http://confluence.atlassian.com/display/JIRAEXT/Sun+Access+Manager+%28OpenSSO%29+Integration

有人對這些擴展和 Jira 和 Confluence 的最新版本有經驗嗎?

我嘗試在 GlassFish 伺服器上安裝帶有 OpenSSO 的設置(使用預設的 OpenSSO 設置,因為這只是一個測試)和 Tomcat 6.0.20 上的 Confluence。我使用 Seraph 提供程序,它可以在 OpenSSO 擴展頁面上找到。我按照文件中的描述配置了 Confluence。我使用以下 AMConfig.properties 文件:

com.iplanet.am.naming.url=http://opensso.test.local:8080/opensso/namingservice
com.iplanet.am.cookie.name=iPlanetDirectoryPro
com.sun.identity.agents.app.username=amadmin
com.iplanet.am.service.password=adminadmin
com.iplanet.am.server.protocol=http
com.iplanet.am.server.host=opensso.test.local
com.iplanet.am.server.port=8080
com.iplanet.security.encryptor=com.iplanet.services.util.JCEEncryption
com.iplanet.services.debug.level=MESSAGE
com.iplanet.am.cookie.encode=true
com.iplanet.am.serverMode=false

如您所見,com.iplanet.am.cookie.encode 屬性為 true。這也在 OpenSSO 伺服器端啟動。

在 Confluence 安裝中,我最初創建了一個管理員使用者“confluenceadmin”。我在 OpenSSO 使用者數據儲存中創建了一個具有相同 ID 的使用者。

當我瀏覽到 Confluence 站點 ( http://confluence.test.local:8080/ ) 時,我被重定向到 OpenSSO 登錄頁面(這是正確的)。但是,在 OpenSSO 頁面上進行身份驗證後,瀏覽器會進入 Confluence 和 OpenSSO 之間的重定向循環。在 Tomcat 日誌中,我發現 Confluence 端出現以下錯誤:

In SiteMonitor.isAvailable()
amNaming:01/06/2010 04:30:04:463 PM CET: Thread[http-8080-1,5,main]
SiteID http://opensso.pmtools.local:8080/opensso/sessionservice is UP.
PLLClient:01/06/2010 04:30:04:463 PM CET: Thread[http-8080-1,5,main]
sending cookies: iPlanetDirectoryPro=AQIC5wM2LY4SfczS5FTStE+TifKvZv90WatUK11Rea1JT28=@AAJTSQACMDE=#;amlbcookie=null
amSession:01/06/2010 04:30:04:467 PM CET: Thread[http-8080-1,5,main]
ERROR: XMLUtils.fatalError
org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown     Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
at com.sun.identity.shared.xml.XMLUtils.toDOMDocument(XMLUtils.java:181)
at com.sun.identity.shared.xml.XMLUtils.toDOMDocument(XMLUtils.java:130)
at com.iplanet.dpro.session.share.SessionResponseParser.<init>(SessionResponseParser.java:70)
at com.iplanet.dpro.session.share.SessionResponse.parseXML(SessionResponse.java:152)
at com.iplanet.dpro.session.Session.sendPLLRequest(Session.java:1122)
at com.iplanet.dpro.session.Session.getSessionResponseWithoutRetry(Session.java:1538)
at com.iplanet.dpro.session.Session.getSessionResponse(Session.java:1646)
at com.iplanet.dpro.session.Session.doRefresh(Session.java:1413)
at com.iplanet.dpro.session.Session.access$300(Session.java:108)
at com.iplanet.dpro.session.Session$3.run(Session.java:1385)
....

關於如何進行的任何提示?

順便說一句,我知道 Atlassian 為中央使用者管理和單點登錄提供 Crowd。但是,我們希望標準化 OpenSSO。

你可以用你的 AD 優化你的 Jira 和 Confluence,我最近集成了它們。您可以在Jira 管理面板中找到集成商 。但是根據我的建議,您應該更喜歡 Crowd 進行 SSO,它更易於安裝和管理。我希望它對你有幫助。

引用自:https://serverfault.com/questions/100111