mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 13:41:21 +00:00
#268: Return permissions of current user by default.
This commit is contained in:
@@ -104,18 +104,23 @@ public class List extends AuthenticatingHttpServlet {
|
|||||||
// Write actual XML
|
// Write actual XML
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
User user;
|
||||||
|
|
||||||
// Get username
|
// Get username
|
||||||
String username = request.getParameter("user");
|
String username = request.getParameter("user");
|
||||||
if (username == null)
|
if (username != null) {
|
||||||
throw new ServletException("No user specified.");
|
|
||||||
|
|
||||||
// Get user directory
|
// Get user directory
|
||||||
Directory<String, User> users = context.getUserDirectory();
|
Directory<String, User> users = context.getUserDirectory();
|
||||||
|
|
||||||
// Get specific user
|
// Get specific user
|
||||||
User user = users.get(username);
|
user = users.get(username);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
throw new GuacamoleSecurityException("No such user.");
|
throw new GuacamoleSecurityException("No such user.");
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
user = context.self();
|
||||||
|
|
||||||
// Write XML content type
|
// Write XML content type
|
||||||
response.setHeader("Content-Type", "text/xml");
|
response.setHeader("Content-Type", "text/xml");
|
||||||
@@ -126,7 +131,7 @@ public class List extends AuthenticatingHttpServlet {
|
|||||||
// Begin document
|
// Begin document
|
||||||
xml.writeStartDocument();
|
xml.writeStartDocument();
|
||||||
xml.writeStartElement("permissions");
|
xml.writeStartElement("permissions");
|
||||||
xml.writeAttribute("user", username);
|
xml.writeAttribute("user", user.getUsername());
|
||||||
|
|
||||||
// For each entry, write corresponding user element
|
// For each entry, write corresponding user element
|
||||||
for (Permission permission : user.getPermissions()) {
|
for (Permission permission : user.getPermissions()) {
|
||||||
|
@@ -421,13 +421,21 @@ GuacamoleService.Permissions = {
|
|||||||
"list" : function(username, parameters) {
|
"list" : function(username, parameters) {
|
||||||
|
|
||||||
// Construct request URL
|
// Construct request URL
|
||||||
var list_url = "permissions?user=" + encodeURIComponent(username);
|
var list_url = "permissions";
|
||||||
if (parameters) list_url += "&" + parameters;
|
if (parameters) list_url += "?" + parameters;
|
||||||
|
|
||||||
|
// Init POST data
|
||||||
|
var data;
|
||||||
|
if (username)
|
||||||
|
data = "user=" + encodeURIComponent(username);
|
||||||
|
else
|
||||||
|
data = null;
|
||||||
|
|
||||||
// Get permission list
|
// Get permission list
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
xhr.open("GET", list_url, false);
|
xhr.open("POST", list_url, false);
|
||||||
xhr.send(null);
|
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||||
|
xhr.send(data);
|
||||||
|
|
||||||
// If fail, throw error
|
// If fail, throw error
|
||||||
if (xhr.status != 200)
|
if (xhr.status != 200)
|
||||||
|
Reference in New Issue
Block a user