diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/UserDirectoryResource.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/UserDirectoryResource.java index a61bf05a9..04218f1b9 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/user/UserDirectoryResource.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/UserDirectoryResource.java @@ -21,6 +21,7 @@ package org.apache.guacamole.rest.user; import com.google.inject.assistedinject.Assisted; import com.google.inject.assistedinject.AssistedInject; +import java.util.UUID; import javax.ws.rs.Consumes; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @@ -89,6 +90,17 @@ public class UserDirectoryResource extends DirectoryResource { this.resourceFactory = resourceFactory; } + @Override + public APIUser createObject(APIUser object) throws GuacamoleException { + + // Randomly set the password if it wasn't provided + if (object.getPassword() == null) + object.setPassword(UUID.randomUUID().toString()); + + return super.createObject(object); + + } + @Override public DirectoryObjectResource getObjectResource(String identifier) throws GuacamoleException {