GUACAMOLE-47: Implement support for client hostname/IP token for connections.

This commit is contained in:
Nick Couchman
2017-01-06 19:24:50 -05:00
parent d45580f226
commit 797bb86a43
2 changed files with 60 additions and 0 deletions

View File

@@ -41,6 +41,16 @@ public class StandardTokens {
*/
public static final String PASSWORD_TOKEN = "GUAC_PASSWORD";
/**
* The name of the client token added via addStandardTokens().
*/
public static final String CLIENT_HOST_TOKEN = "GUAC_CLIENT_HOST";
/**
* The IP of the client token added via addStandardTokens().
*/
public static final String CLIENT_IP_TOKEN = "GUAC_CLIENT_IP";
/**
* The name of the date token (server-local time) added via
* addStandardTokens().
@@ -115,6 +125,13 @@ public class StandardTokens {
if (password != null)
filter.setToken(PASSWORD_TOKEN, password);
// Add client hostname and ip tokens
HttpServletRequest request = credentials.getRequest();
if (request != null) {
filter.setToken(CLIENT_HOST_TOKEN, request.getRemoteHost());
filter.setToken(CLIENT_IP_TOKEN, request.getRemoteAddr());
}
// Add any tokens which do not require credentials
addStandardTokens(filter);