将 Jira 和 Confluence 与 OpenSSO 集成

将 Jira 和 Confluence 与 OpenSSO 集成

是否可以使用 OpenSSO(express build 8)为最新版本的 Jira(4.0.1)和 Confluence(3.1)实现单点登录解决方案?是否可以完全集成 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 上实现标准化。

答案1

您可以使用 AD 优化 Jira 和 Confluence,我最近集成了它们。您可以在以下位置找到集成器Jira 管理面板 。但我的建议是,你应该选择 Crowd 进行 SSO,它更易于安装和管理。希望这对你有所帮助。

相关内容