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