mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-09 22:51:22 +00:00
Ticket #268: User permission deltas. Do not explicitly list all permissions every update.
This commit is contained in:
@@ -167,19 +167,33 @@ public class Update extends AuthenticatingHttpServlet {
|
||||
user.setPassword(password);
|
||||
|
||||
// Set user permissions
|
||||
String[] user_permission = request.getParameterValues("user");
|
||||
if (user_permission != null) {
|
||||
for (String str : user_permission)
|
||||
String[] add_user_permission = request.getParameterValues("+user");
|
||||
if (add_user_permission != null) {
|
||||
for (String str : add_user_permission)
|
||||
user.addPermission(parseUserPermission(str));
|
||||
}
|
||||
|
||||
// Set connection permissions
|
||||
String[] connection_permission = request.getParameterValues("connection");
|
||||
if (connection_permission != null) {
|
||||
for (String str : connection_permission)
|
||||
String[] add_connection_permission = request.getParameterValues("+connection");
|
||||
if (add_connection_permission != null) {
|
||||
for (String str : add_connection_permission)
|
||||
user.addPermission(parseConnectionPermission(str));
|
||||
}
|
||||
|
||||
// Set user permissions
|
||||
String[] remove_user_permission = request.getParameterValues("-user");
|
||||
if (remove_user_permission != null) {
|
||||
for (String str : remove_user_permission)
|
||||
user.removePermission(parseUserPermission(str));
|
||||
}
|
||||
|
||||
// Set connection permissions
|
||||
String[] remove_connection_permission = request.getParameterValues("-connection");
|
||||
if (remove_connection_permission != null) {
|
||||
for (String str : remove_connection_permission)
|
||||
user.removePermission(parseConnectionPermission(str));
|
||||
}
|
||||
|
||||
// Update user
|
||||
directory.update(user);
|
||||
|
||||
|
Reference in New Issue
Block a user