GUACAMOLE-70: Allow access to be restricted to strictly the users in the database.

This commit is contained in:
Michael Jumper
2016-08-03 15:16:12 -07:00
parent 9240dd82c1
commit 5c800b1d89
7 changed files with 93 additions and 5 deletions

View File

@@ -47,6 +47,12 @@ public class PostgreSQLEnvironment extends JDBCEnvironment {
*/
private static final int DEFAULT_PORT = 5432;
/**
* Whether a database user account is required by default for authentication
* to succeed.
*/
private static final boolean DEFAULT_USER_REQUIRED = false;
/**
* The default value for the maximum number of connections to be
* allowed to the Guacamole server overall.
@@ -166,6 +172,14 @@ public class PostgreSQLEnvironment extends JDBCEnvironment {
}
@Override
public boolean isUserRequired() throws GuacamoleException {
return getProperty(
PostgreSQLGuacamoleProperties.POSTGRESQL_USER_REQUIRED,
DEFAULT_USER_REQUIRED
);
}
@Override
public int getAbsoluteMaxConnections() throws GuacamoleException {
return getProperty(PostgreSQLGuacamoleProperties.POSTGRESQL_ABSOLUTE_MAX_CONNECTIONS,

View File

@@ -95,6 +95,19 @@ public class PostgreSQLGuacamoleProperties {
};
/**
* Whether a user account within the database is required for authentication
* to succeed, even if the user has been authenticated via another
* authentication provider.
*/
public static final BooleanGuacamoleProperty
POSTGRESQL_USER_REQUIRED = new BooleanGuacamoleProperty() {
@Override
public String getName() { return "postgresql-user-required"; }
};
/**
* Whether or not multiple users accessing the same connection at the same
* time should be disallowed.