I added  guacamole-auth-jdbc-mysql-0.9.14.jar to $GUACAMOLE_HOME/extensions.
Now have two .jar files guacamole-auth-cas-0.9.14.tar.gz and 
guacamole-auth-jdbc-mysql-0.9.14.jar.

Is that the expected jdbc jar?  Or should it be 
guacamole-auth-jdbc-sqlserver-0.9.14.jar ? or both ?

Adding the guacamole-auth-jdbc-mysql-0.9.14.jar causes this

SEVERE: Mapped exception to response: 500 (Internal Server Error)
org.apache.guacamole.rest.APIException

at 
org.apache.guacamole.rest.RESTExceptionWrapper.invoke(RESTExceptionWrapper.java:202)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
        at 
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
        at 
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
        at 
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
        at 
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
        at 
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        at 
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
        at 
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at 
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
        at 
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
        at 
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
        at 
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
       at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
        at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

I am sooo close to getting this to work.
Thanks for any help
Bill

PS: there is nothing in the directory $GUACAMOLE_HOME/lib.
Should there be ?

From: Nick Couchman <[email protected]>
Sent: Wednesday, August 29, 2018 2:06 PM
To: [email protected]
Subject: Re: CAS Authentication problem


On Wed, Aug 29, 2018 at 12:25 PM Poteat, William D. 
<[email protected]<mailto:[email protected]>> wrote:
What version of Guacamole are you using?  Are all of your extensions the same 
version?

Using version Guacamole 0.9.14
/etc/guacamole/extensions/guacamole-auth-cas-0.9.14                 is my only 
extension


If this is your only extension, then this is at least part of the problem.  You 
need to also have the JDBC extension present in here so that the two extensions 
can be layered, and the authentication from CAS will match up with the username 
in the JDBC module.  Make sure both the CAS extension and the JDBC extension 
are in this folder.


So you have a guacadmin user that logs into CAS?  When you created the JDBC 
portion, did you import both of the SQL schema files - there are two, one for 
the base schema, and one for configuring the guacadmin account.  Can you verify 
that you imported both when creating the database?

I used an install script from SourceForge.net.  Is that a problem ?

Quite possibly.  Whatever script this is seems to be quite popular, and it 
isn't associated with the Guacamole project.  I'm not knocking the script, I've 
just never used it, don't know much about it, and can't support it.

So I did not explicitly import the SQL schema files.
But do have the following:

# ls  /usr/local/src/guacamole/0.9.14/extension/mysql/schema
001-create-schema.sql  002-create-admin-user.sql

# ls /usr/local/src/guacamole/0.9.14/extension/sqlserver/schema
001-create-schema.sql  002-create-admin-user.sql

Also have many JDBC4*.java  and  JDBC42*.java files  in
/usr/local/src/guacamole/0.9.14/mysql-connector-java-5.1.44/src/com/mysql/fabric/jdbc/



This is all good, just make sure you have both extensions installed and that 
they're both getting loaded.  I'm not sure what all the script does, but those 
two schema files have to actually be loaded into the Guacamole database that 
gets created, else it won't work.

-Nick

Reply via email to