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 guacamole-auth-jdbc is a Java library for use with the Guacamole web
application to provide MySQL based authentication. application to provide database-driven authentication.
guacamole-auth-mysql provides an authentication provider which can be guacamole-auth-jdbc provides multiple authentication provider implementations
set in guacamole.properties to allow MySQL authentication of Guacamole which each provide a support for a different database. These authentication
users. Additional properties are required to configure the mysql providers can be set in guacamole.properties to allow authentication of
connection parameters. Guacamole users through that type of database.
A schema file are provided to create the required tables in your Schema files are provided to create the required tables in your database of
mysql database. choice.
------------------------------------------------------------ ------------------------------------------------------------
Compiling and installing guacamole-auth-mysql Compiling and installing guacamole-auth-jdbc
------------------------------------------------------------ ------------------------------------------------------------
guacamole-auth-mysql is built using Maven. Building guacamole-auth-mysql guacamole-auth-jdbc is built using Maven. Building guacamole-auth-jdbc compiles
compiles all classes and packages them into a redistributable .jar file. This all classes and packages them into a redistributable .tar.gz archive. This
.jar file can be installed in the library directory configured in archive contains multiple .jar files, each of this corresponds to a
guacamole.properties such that the authentication provider is available. database-specific authentication provider implementation that can be installed
in the library directory configured in guacamole.properties.
1) Run mvn package 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 with username 'guacadmin' and password 'guacadmin'. This user can
be used to set up any other connections and users. 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 There are additional properties required by JDBC drivers which must
which must be added/changed in your guacamole.properties: be added/changed in your guacamole.properties. These parameters are
specific to the database being used.
# Configuration for MySQL connection For MySQL, the following properties are available:
mysql-hostname: mysql.host.name
# Database connection configuration
mysql-hostname: database.host.name
mysql-port: 3306 mysql-port: 3306
mysql-database: guacamole.database.name mysql-database: guacamole.database.name
mysql-username: user mysql-username: user
@@ -91,8 +95,8 @@ guacamole.properties such that the authentication provider is available.
Reporting problems 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: 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> </descriptorRefs>
</configuration> </configuration>
</execution> </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> </executions>
</plugin> </plugin>
@@ -78,7 +64,7 @@
<!-- Guacamole JDBC Authentication --> <!-- Guacamole JDBC Authentication -->
<dependency> <dependency>
<groupId>org.glyptodon.guacamole</groupId> <groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId> <artifactId>guacamole-auth-jdbc-base</artifactId>
<version>0.9.5</version> <version>0.9.5</version>
</dependency> </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" <project xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 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> <modelVersion>4.0.0</modelVersion>
<groupId>org.glyptodon.guacamole</groupId> <groupId>org.glyptodon.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId> <artifactId>guacamole-auth-jdbc</artifactId>
<packaging>jar</packaging> <packaging>pom</packaging>
<version>0.9.5</version> <version>0.9.5</version>
<name>guacamole-auth-jdbc</name> <name>guacamole-auth-jdbc</name>
<url>http://guac-dev.org/</url> <url>http://guac-dev.org/</url>
@@ -13,73 +15,42 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<modules>
<!-- Base JDBC classes -->
<module>modules/guacamole-auth-jdbc-base</module>
<!-- MySQL authentication -->
<module>modules/guacamole-auth-mysql</module>
</modules>
<build> <build>
<plugins> <plugins>
<!-- Written for 1.6 --> <!-- Assembly plugin - for easy distribution -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId>
<artifactId>maven-compiler-plugin</artifactId> <version>2.2-beta-5</version>
<executions>
<execution>
<id>make-dist-archive</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration> <configuration>
<source>1.6</source> <finalName>${project.artifactId}-${project.version}</finalName>
<target>1.6</target> <appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/dist.xml</descriptor>
</descriptors>
</configuration> </configuration>
</execution>
</executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </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> </project>

View File

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