I've installed JIRA and Confluence (both standalone) on a single server and integrated them to share the same user directory (that of JIRA, directly via the included Crowd plugin). It's been working well for the past few of days, but today I am the only person able to log into Confluence. Everyone can log into JIRA, but Confluence fails when trying to log other users in via the JIRA user directory. For some reason I can log in with my admin account even though it's associated with the remote directory as well.
I don't believe I changed anything since substantial recently, though I may have rebooted the server.
Watching the Confluence log, the following errors are thrown (for some hypothetical user "usern"):
2012-06-05 14:40:49,582 ERROR [http-8091-4] [crowd.manager.application.ApplicationServiceGeneric] authenticateUser Directory 'Remote JIRA Directory' is not functional during authentication of 'usern'. Skipped.
Followed by:
2012-06-05 14:40:49,586 WARN [http-8091-4] [atlassian.confluence.user.ConfluenceAuthenticator] authenticate OperationFailedException caught while authenticating user <usern>.
com.atlassian.crowd.exception.runtime.OperationFailedException
at com.atlassian.crowd.embedded.core.CrowdServiceImpl.convertOperationFailedException(CrowdServiceImpl.java:869)
at com.atlassian.crowd.embedded.core.CrowdServiceImpl.authenticate(CrowdServiceImpl.java:79)
at com.atlassian.crowd.embedded.atlassianuser.EmbeddedCrowdAuthenticator.authenticate(EmbeddedCrowdAuthenticator.java:30)
at bucket.user.DefaultUserAccessor.authenticate(DefaultUserAccessor.java:592)
[...]
Caused by: com.atlassian.crowd.exception.ApplicationPermissionException: <!DOCTYPE html>
<html>
<head>
<title>Forbidden (403)</title>
[...]
<section id="content" role="main">
<header><h1>Forbidden (403)</h1></header>
<div class="content-container">
<div class="content-body">
<p>Encountered a <code>403 - Forbidden</code> error while loading this page.</p>
<p><a href="/secure/MyJiraHome.jspa">JIRA home</a></p>
</div>
</div>
</section>
</div>
</body>
</html>
at com.atlassian.crowd.integration.rest.service.RestExecutor.throwError(RestExecutor.java:458)
at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:312)
at com.atlassian.crowd.integration.rest.service.RestCrowdClient.authenticateUser(RestCrowdClient.java:114)
at com.atlassian.crowd.directory.RemoteCrowdDirectory.authenticate(RemoteCrowdDirectory.java:146)
at com.atlassian.crowd.directory.DbCachingRemoteDirectory.authenticateAndEnsureInternalUserExists(DbCachingRemoteDirectory.java:205)
at com.atlassian.crowd.directory.DbCachingRemoteDirectory.authenticate(DbCachingRemoteDirectory.java:111)
at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.authenticateUser(DirectoryManagerGeneric.java:277)
at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.authenticateUser(ApplicationServiceGeneric.java:122)
at com.atlassian.crowd.embedded.core.CrowdServiceImpl.authenticate(CrowdServiceImpl.java:67)
... 107 more
Any idea of what might have caused this? I've seen various similar questions, but haven't been able to glean any answers from them. It seems like a relatively common problem.
Additional info:
- Both apps are configured for Trusted Applications incoming and outgoing authentication
- Both apps are configured for Basic Access for outgoing authentication
- Both apps have a tick icon next to the outgoing auth, but not incoming
- Both apps have to correct Application URLs to the other app
- I can't configure Basic Access for Incoming Auth for either application; I get stuck in a loop of admin login screens, and eventually it says it's configured, but when I click "close" there's an error message about requiring SudoWeb or something and I get kicked out to another admin login screen.
One difference is that Confluence has the name "hpvatdev" (server name) in JIRA Application Links page, but the full name Confluence - [server hostname] - [server key] in the connection test settings.