GUAC-1101: Move JDBC-related auth into single parent project.

This commit is contained in:
Michael Jumper
2015-02-27 21:24:11 -08:00
parent 2d175f8792
commit a271550bcb
78 changed files with 151 additions and 132 deletions

View File

@@ -17,29 +17,30 @@ Distribution-specific documentation is provided on the Guacamole wiki:
------------------------------------------------------------
What is guacamole-auth-mysql?
What is guacamole-auth-jdbc?
------------------------------------------------------------
guacamole-auth-ldap is a Java library for use with the Guacamole web
application to provide MySQL based authentication.
guacamole-auth-jdbc is a Java library for use with the Guacamole web
application to provide database-driven authentication.
guacamole-auth-mysql provides an authentication provider which can be
set in guacamole.properties to allow MySQL authentication of Guacamole
users. Additional properties are required to configure the mysql
connection parameters.
guacamole-auth-jdbc provides multiple authentication provider implementations
which each provide a support for a different database. These authentication
providers can be set in guacamole.properties to allow authentication of
Guacamole users through that type of database.
A schema file are provided to create the required tables in your
mysql database.
Schema files are provided to create the required tables in your database of
choice.
------------------------------------------------------------
Compiling and installing guacamole-auth-mysql
Compiling and installing guacamole-auth-jdbc
------------------------------------------------------------
guacamole-auth-mysql is built using Maven. Building guacamole-auth-mysql
compiles all classes and packages them into a redistributable .jar file. This
.jar file can be installed in the library directory configured in
guacamole.properties such that the authentication provider is available.
guacamole-auth-jdbc is built using Maven. Building guacamole-auth-jdbc compiles
all classes and packages them into a redistributable .tar.gz archive. This
archive contains multiple .jar files, each of this corresponds to a
database-specific authentication provider implementation that can be installed
in the library directory configured in guacamole.properties.
1) Run mvn package
@@ -68,13 +69,16 @@ guacamole.properties such that the authentication provider is available.
with username 'guacadmin' and password 'guacadmin'. This user can
be used to set up any other connections and users.
6) Configure guacamole.properties for MySQL
6) Configure guacamole.properties for your database
There are additional properties required by the MySQL JDBC driver
which must be added/changed in your guacamole.properties:
There are additional properties required by JDBC drivers which must
be added/changed in your guacamole.properties. These parameters are
specific to the database being used.
# Configuration for MySQL connection
mysql-hostname: mysql.host.name
For MySQL, the following properties are available:
# Database connection configuration
mysql-hostname: database.host.name
mysql-port: 3306
mysql-database: guacamole.database.name
mysql-username: user
@@ -91,8 +95,8 @@ guacamole.properties such that the authentication provider is available.
Reporting problems
------------------------------------------------------------
Please report any bugs encountered by opening a new ticket at the Trac system
Please report any bugs encountered by opening a new issue in the JIRA system
hosted at:
http://guac-dev.org/trac/
http://glyptodon.org/jira/

View File

@@ -0,0 +1,85 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-base</artifactId>
<packaging>jar</packaging>
<version>0.9.5</version>
<name>guacamole-auth-jdbc-base</name>
<url>http://guac-dev.org/</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<!-- Written for 1.6 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- Guacamole Java API -->
<dependency>
<groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-common</artifactId>
<version>0.9.4</version>
<scope>provided</scope>
</dependency>
<!-- Guacamole Extension API -->
<dependency>
<groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
<version>0.9.5</version>
<scope>provided</scope>
</dependency>
<!-- SLF4J - logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!-- MyBatis Guice -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-guice</artifactId>
<version>3.6</version>
</dependency>
<!-- Guice -->
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-multibindings</artifactId>
<version>3.0</version>
</dependency>
</dependencies>
</project>

View File

@@ -45,20 +45,6 @@
</descriptorRefs>
</configuration>
</execution>
<execution>
<id>make-dist-archive</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>${project.artifactId}-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/dist.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
@@ -78,7 +64,7 @@
<!-- Guacamole JDBC Authentication -->
<dependency>
<groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId>
<artifactId>guacamole-auth-jdbc-base</artifactId>
<version>0.9.5</version>
</dependency>

View File

@@ -1,10 +1,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId>
<packaging>jar</packaging>
<packaging>pom</packaging>
<version>0.9.5</version>
<name>guacamole-auth-jdbc</name>
<url>http://guac-dev.org/</url>
@@ -13,73 +15,42 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<!-- Base JDBC classes -->
<module>modules/guacamole-auth-jdbc-base</module>
<!-- MySQL authentication -->
<module>modules/guacamole-auth-mysql</module>
</modules>
<build>
<plugins>
<!-- Written for 1.6 -->
<!-- Assembly plugin - for easy distribution -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<executions>
<execution>
<id>make-dist-archive</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<source>1.6</source>
<target>1.6</target>
<finalName>${project.artifactId}-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/dist.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<!-- Guacamole Java API -->
<dependency>
<groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-common</artifactId>
<version>0.9.4</version>
<scope>provided</scope>
</dependency>
<!-- Guacamole Extension API -->
<dependency>
<groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
<version>0.9.5</version>
<scope>provided</scope>
</dependency>
<!-- SLF4J - logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!-- MyBatis Guice -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-guice</artifactId>
<version>3.6</version>
</dependency>
<!-- Guice -->
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-multibindings</artifactId>
<version>3.0</version>
</dependency>
</dependencies>
</project>

View File

@@ -11,25 +11,17 @@
<format>tar.gz</format>
</formats>
<!-- Include docs and schema -->
<!-- Include all implementations -->
<fileSets>
<!-- Include docs -->
<!-- MySQL implementation -->
<fileSet>
<outputDirectory>/</outputDirectory>
<directory>doc</directory>
<outputDirectory>/mysql/schema</outputDirectory>
<directory>modules/guacamole-auth-mysql/schema</directory>
</fileSet>
<!-- Include schema -->
<fileSet>
<outputDirectory>/schema</outputDirectory>
<directory>schema</directory>
</fileSet>
<!-- Include extension .jar -->
<fileSet>
<directory>${project.build.directory}/extension</directory>
<outputDirectory>/</outputDirectory>
<directory>modules/guacamole-auth-mysql/target/extension</directory>
<outputDirectory>/mysql</outputDirectory>
<includes>
<include>*.jar</include>
</includes>

View File

@@ -1,19 +0,0 @@
Copyright (C) 2013 Glyptodon LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.