GUACAMOLE-1957: Support granular permissions management. #995
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've taken a stab at making the permissions management a bit more granular, allowing the four possible object-level permissions to be managed individually for connections, connection groups, and sharing profiles. As usual, I could use suggestions for how the GUI might be better set up to support this - I was originally going to try to create a table; however, going that route would require reworking the entire permissions management system, possibly implementing some sort of
guac-group-table
directive or something like that. So, I opted for a little simpler route.Here's how it looks in practice:
![image](https://private-user-images.githubusercontent.com/4706000/346292880-f6aec061-0c0e-4fac-9adf-463bad134880.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NTQzODcsIm5iZiI6MTczOTY1NDA4NywicGF0aCI6Ii80NzA2MDAwLzM0NjI5Mjg4MC1mNmFlYzA2MS0wYzBlLTRmYWMtOWFkZi00NjNiYWQxMzQ4ODAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTVUMjExNDQ3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YWEyOTk3ZDJjOTJhYTc0ZWFiMWI5OTEyYmZkYTk3ZWJmMzYxMjg2NDkxYzk5NTk0NDFhYzIxYWJmMjY5MTExMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.hSqZFuekhrkwWpjCfvVGb55dqgVzt7OXoNJ6lL3jkmU)