Hi,
I just installed Guacamole on Centos7 using the EPEL guacd: guacd-1.3.0-1.el7.x86_64 Tomcat: tomcat-7.0.76-16.el7_9.noarch The client from the official site: guacamole-1.3.0.war The JDBC connector from the official site: guacamole-auth-jdbc-1.3.0.tar.gz And the connector from the postgres site: postgresql-42.2.19.jar I created the properties file: [root@mfa-guacamole guacamole]# cat /etc/guacamole/guacamole.properties # Hostname and port of guacamole proxy guacd-hostname: 127.0.0.1 guacd-port: 4822 # PostgreSQL properties postgresql-hostname: 127.0.0.1 postgresql-port: 5432 postgresql-database: guacamole_db postgresql-username: guacamole_user postgresql-password: **** And loaded the schema in the DB using the connector .sql scripts. I can startup tomcat and I can see the login web interface. However, when I try try to authenticate, I get the following error. Do you know what could the problem be? #### Mar 25 16:08:40 mfa-guacamole server: INFO: Deployment of web application directory /var/lib/tomcat/webapps/docs has finished in 881 ms Mar 25 16:08:40 mfa-guacamole server: Mar 25, 2021 4:08:40 PM org.apache.coyote.AbstractProtocol start Mar 25 16:08:40 mfa-guacamole server: INFO: Starting ProtocolHandler ["http-bio-8080"] Mar 25 16:08:40 mfa-guacamole server: Mar 25, 2021 4:08:40 PM org.apache.coyote.AbstractProtocol start Mar 25 16:08:40 mfa-guacamole server: INFO: Starting ProtocolHandler ["ajp-bio-8009"] Mar 25 16:08:40 mfa-guacamole server: Mar 25, 2021 4:08:40 PM org.apache.catalina.startup.Catalina start Mar 25 16:08:40 mfa-guacamole server: INFO: Server startup in 14732 ms Mar 25 16:08:51 mfa-guacamole server: 16:08:51.077 [http-bio-8080-exec-5] DEBUG o.a.g.a.f.FileAuthenticationProvider - User mapping file "/usr/share/tomcat/.guacamole/user-mapping.xml" does not exist and will not be read. Mar 25 16:08:51 mfa-guacamole server: 16:08:51.078 [http-bio-8080-exec-5] DEBUG o.a.g.r.auth.AuthenticationService - Anonymous authentication attempt from 148.187.134.57 failed. Mar 25 16:08:51 mfa-guacamole server: 16:08:51.078 [http-bio-8080-exec-5] DEBUG o.a.g.rest.RESTExceptionMapper - Client request rejected: Invalid login Mar 25 16:09:03 mfa-guacamole server: 16:09:03.006 [http-bio-8080-exec-6] WARN o.a.g.e.AuthenticationProviderFacade - The "postgresql" authentication provider has encountered an internal error which will halt the authentication process. If this is unexpected or you are the developer of this authentication provider, you may wish to enable debug-level logging. If this is expected and you wish to ignore such failures in the future, please set "skip-if-unavailable: postgresql" within your guacamole.properties. Mar 25 16:09:03 mfa-guacamole server: 16:09:03.007 [http-bio-8080-exec-6] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error: org.apache.guacamole.auth.jdbc.user.UserModel cannot be cast to org.apache.guacamole.auth.jdbc.user.UserModel Mar 25 16:09:03 mfa-guacamole server: 16:09:03.008 [http-bio-8080-exec-6] DEBUG o.a.g.rest.RESTExceptionMapper - Unexpected error in REST endpoint. Mar 25 16:09:03 mfa-guacamole server: java.lang.ClassCastException: org.apache.guacamole.auth.jdbc.user.UserModel cannot be cast to org.apache.guacamole.auth.jdbc.user.UserModel Mar 25 16:09:03 mfa-guacamole server: at com.sun.proxy.$Proxy35.selectOne(Unknown Source) Mar 25 16:09:03 mfa-guacamole server: at org.apache.guacamole.auth.jdbc.user.UserService.retrieveAuthenticatedUser(UserService.java:367) Mar 25 16:09:03 mfa-guacamole server: at org.apache.guacamole.auth.jdbc.JDBCAuthenticationProviderService.authenticateUser(JDBCAuthenticationProviderService.java:76) Mar 25 16:09:03 mfa-guacamole server: at org.apache.guacamole.auth.jdbc.InjectedAuthenticationProvider.authenticateUser(InjectedAuthenticationProvider.java:76) Mar 25 16:09:03 mfa-guacamole server: at org.apache.guacamole.extension.AuthenticationProviderFacade.authenticateUser(AuthenticationProviderFacade.java:190) Mar 25 16:09:03 mfa-guacamole server: at org.apache.guacamole.rest.auth.AuthenticationService.authenticateUser(AuthenticationService.java:174) Mar 25 16:09:03 mfa-guacamole server: at org.apache.guacamole.rest.auth.AuthenticationService.getAuthenticatedUser(AuthenticationService.java:300) Mar 25 16:09:03 mfa-guacamole server: at org.apache.guacamole.rest.auth.AuthenticationService.authenticate(AuthenticationService.java:453) Mar 25 16:09:03 mfa-guacamole server: at org.apache.guacamole.rest.auth.TokenRESTService.createToken(TokenRESTService.java:174) Mar 25 16:09:03 mfa-guacamole server: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) Mar 25 16:09:03 mfa-guacamole server: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) Mar 25 16:09:03 mfa-guacamole server: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) Mar 25 16:09:03 mfa-guacamole server: at java.lang.reflect.Method.invoke(Method.java:498) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) Mar 25 16:09:03 mfa-guacamole server: at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) Mar 25 16:09:03 mfa-guacamole server: at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) Mar 25 16:09:03 mfa-guacamole server: at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) Mar 25 16:09:03 mfa-guacamole server: at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) Mar 25 16:09:03 mfa-guacamole server: at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) Mar 25 16:09:03 mfa-guacamole server: at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) Mar 25 16:09:03 mfa-guacamole server: at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) Mar 25 16:09:03 mfa-guacamole server: at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) Mar 25 16:09:03 mfa-guacamole server: at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) Mar 25 16:09:03 mfa-guacamole server: at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) Mar 25 16:09:03 mfa-guacamole server: at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) Mar 25 16:09:03 mfa-guacamole server: at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) Mar 25 16:09:03 mfa-guacamole server: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) Mar 25 16:09:03 mfa-guacamole server: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) Mar 25 16:09:03 mfa-guacamole server: at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) Mar 25 16:09:03 mfa-guacamole server: at java.lang.Thread.run(Thread.java:748) ### Regards, Marco Passerini
