Можно ли реализовать решение единого входа с использованием OpenSSO (экспресс-сборка 8) для самых последних версий Jira (4.0.1) и Confluence (3.1)? Возможна ли полная интеграция пользователей и групп OpenSSO или только интеграция на уровне аутентификации (что означает, что хранилище пользователей все еще существует как в Jira, так и в Confluence)?
Я уже пытался найти информацию по этому поводу, но мне это все еще непонятно. Я нашел расширение поставщика Seraph для OpenSSO по адресу
https://opensso.dev.java.net/public/extensions/index.html
Этот только обеспечивает аутентификацию и дает чистый SSO для Jira и Confluence AFAICT. Затем я также нашел расширение для Jira, которое обеспечивает лучшую интеграцию с OpenSSO в
http://confluence.atlassian.com/display/JIRAEXT/Sun+Access+Manager+%28OpenSSO%29+Integration
Есть ли у кого-нибудь опыт работы с этими расширениями и последними версиями Jira и Confluence?
Я попытался установить установку с OpenSSO на сервере GlassFish (с настройкой OpenSSO по умолчанию, так как это всего лишь тест) и Confluence на Tomcat 6.0.20. Я использую поставщика 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 истинно. Это также активируется на стороне сервера OpenSSO.
В установке Confluence я изначально создал пользователя с правами администратора confluenceadmin. Я создал пользователя с таким же идентификатором в хранилище пользовательских данных OpenSSO.
Когда я захожу на сайт 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.
Вы можете оптимизировать Jira и Confluence с помощью своего A.D., я недавно их интегрировал. Вы можете найти интегратора в Панель администратора Jira . Но с моей рекомендацией вы должны предпочесть Crowd для SSO, это проще в установке и управлении. Надеюсь, это будет вам полезно.