Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-1045

Misleading catch-all "Invalid login" message when Crowd is misconfigured

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 2.6.3
    • 1.2.2
    • User Console
    • None

    Description

      I have an apparently-misconfigured Crowd, where a login attempt generates this in the logs:

       19:25:07,247  INFO atlassian.crowd.manager.application.ApplicationManagerGeneric: Invalid application password authentication: crowd
       19:25:07,250  INFO atlassian.crowd.console.action.BaseAction: Invalid application client. The application.name or application.password in your <CROWD DIRECTORY>/crowd-webapp/WEB-INF/classes/crowd.properties file does not match the Crowd database.  For more information please visit http://confluence.atlassian.com/x/FwDHBQ.
       com.atlassian.crowd.integration.exception.InvalidAuthorizationTokenException: Invalid application client. The application.name or application.password in your <CROWD DIRECTORY>/crowd-webapp/WEB-INF/classes/crowd.properties file does not match the Crowd database.  For more information please visit http://confluence.atlassian.com/x/FwDHBQ.
         at com.atlassian.crowd.integration.service.soap.client.GenericClient.authenticate(GenericClient.java:248)
         at com.atlassian.crowd.integration.service.soap.client.SecurityServerClient.isValidToken(SecurityServerClient.java:63)
         at com.atlassian.crowd.integration.http.HttpAuthenticator.isAuthenticated(HttpAuthenticator.java:230)
         at com.atlassian.crowd.console.action.BaseAction.isAuthenticated(BaseAction.java:104)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:517)
         at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:931)
         at ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:53)
         at ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:121)
         at com.opensymphony.xwork.util.OgnlValueStack$ObjectAccessor.getProperty(OgnlValueStack.java:57)
         at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643)
         at com.opensymphony.xwork.util.CompoundRootAccessor.getProperty(CompoundRootAccessor.java:102)
         at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643)
         at ognl.ASTProperty.getValueBody(ASTProperty.java:92)
         at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
         at ognl.SimpleNode.getValue(SimpleNode.java:210) 
         at ognl.ASTEq.getValueBody(ASTEq.java:49)
         at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
         at ognl.SimpleNode.getValue(SimpleNode.java:210)
         at ognl.Ognl.getValue(Ognl.java:333)
         at com.opensymphony.xwork.util.OgnlUtil.getValue(OgnlUtil.java:196)
         at com.opensymphony.xwork.util.OgnlValueStack.findValue(OgnlValueStack.java:258)
         at com.opensymphony.webwork.components.Component.findValue(Component.java:305)
         at com.opensymphony.webwork.components.If.start(If.java:67)
         at com.opensymphony.webwork.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:34)
         at org.apache.jsp.console.decorator.default_jsp._jspx_meth_ww_005fif_005f1(default_jsp.java:728)
         at org.apache.jsp.console.decorator.default_jsp._jspService(default_jsp.java:210)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
         at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
         at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
         at com.opensymphony.module.sitemesh.filter.PageFilter.applyDecorator(PageFilter.java:156)
         at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:59)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:55)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:33)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
         at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
         at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
         at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
         at java.lang.Thread.run(Thread.java:595)
       Caused by: com.atlassian.crowd.integration.exception.InvalidAuthenticationException: Invalid application client. The application.name or application.password in your <CROWD DIRECTORY>/crowd-webapp/WEB-INF/classes/crowd.properties file does not match the Crowd database.  For more information please visit http://confluence.atlassian.com/x/FwDHBQ.
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
         at org.codehaus.xfire.aegis.type.basic.BeanType.createFromFault(BeanType.java:235)
         at org.codehaus.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:105)
         at org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:169)
         at org.codehaus.xfire.client.ClientFaultConverter.processFaultDetail(ClientFaultConverter.java:51)
         at org.codehaus.xfire.client.ClientFaultConverter.invoke(ClientFaultConverter.java:32)
         at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
         at org.codehaus.xfire.client.Client.onReceive(Client.java:424)
         at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)
         at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
         at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
         at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
         at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
         at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
         at org.codehaus.xfire.client.Client.invoke(Client.java:336)
         at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
         at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
         at $Proxy9.authenticateApplication(Unknown Source)
         at com.atlassian.crowd.integration.service.soap.client.GenericClient.authenticate(GenericClient.java:238)
         ... 70 more
       Caused by: org.codehaus.xfire.fault.XFireFault: Invalid application client. The application.name or application.password in your <CROWD DIRECTORY>/crowd-webapp/WEB-INF/classes/crowd.properties file does not match the Crowd database.  For more information please visit http://confluence.atlassian.com/x/FwDHBQ.
         at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(Soap11FaultSerializer.java:31)
         at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(SoapFaultSerializer.java:28)
         at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(ReadHeadersHandler.java:111)
         at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:67)
         at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
         at org.codehaus.xfire.client.Client.onReceive(Client.java:406)
         ... 81 more
      

      Bug #1: This apparently critical error message should be logged at ERROR or FATAL, not INFO.
      Bug #2: When I try to log in, Crowd returns a generic "Invalid login" message:

      If the problem is due to a misconfiguration, say so! Don't leave the end user thinking they mistyped their password when the server is broken.

      Attachments

        Issue Links

          Activity

            People

              dberrueta Diego Berrueta
              7ee5c68a815f Jeff Turner
              Votes:
              3 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: