mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-538: Update JDBC extension to recognize AUDIT permissions.
This commit is contained in:
@@ -483,8 +483,8 @@ public class ConnectionService extends ModeledChildDirectoryObjectService<Modele
|
|||||||
|
|
||||||
List<ConnectionRecordModel> searchResults;
|
List<ConnectionRecordModel> searchResults;
|
||||||
|
|
||||||
// Bypass permission checks if the user is privileged
|
// Bypass permission checks if the user is privileged or has System-level audit permissions
|
||||||
if (user.isPrivileged())
|
if (user.isPrivileged() || user.getUser().getEffectivePermissions().getSystemPermissions().hasPermission(SystemPermission.Type.AUDIT))
|
||||||
searchResults = connectionRecordMapper.search(identifier,
|
searchResults = connectionRecordMapper.search(identifier,
|
||||||
recordIdentifier, requiredContents, sortPredicates, limit);
|
recordIdentifier, requiredContents, sortPredicates, limit);
|
||||||
|
|
||||||
|
@@ -611,8 +611,8 @@ public class UserService extends ModeledDirectoryObjectService<ModeledUser, User
|
|||||||
|
|
||||||
List<ActivityRecordModel> searchResults;
|
List<ActivityRecordModel> searchResults;
|
||||||
|
|
||||||
// Bypass permission checks if the user is privileged
|
// Bypass permission checks if the user is privileged or has System-level audit permissions
|
||||||
if (user.isPrivileged())
|
if (user.isPrivileged() || user.getUser().getEffectivePermissions().getSystemPermissions().hasPermission(SystemPermission.Type.AUDIT))
|
||||||
searchResults = userRecordMapper.search(username, recordIdentifier,
|
searchResults = userRecordMapper.search(username, recordIdentifier,
|
||||||
requiredContents, sortPredicates, limit);
|
requiredContents, sortPredicates, limit);
|
||||||
|
|
||||||
|
@@ -459,6 +459,7 @@ CREATE TABLE `guacamole_system_permission` (
|
|||||||
'CREATE_SHARING_PROFILE',
|
'CREATE_SHARING_PROFILE',
|
||||||
'CREATE_USER',
|
'CREATE_USER',
|
||||||
'CREATE_USER_GROUP',
|
'CREATE_USER_GROUP',
|
||||||
|
'AUDIT',
|
||||||
'ADMINISTER') NOT NULL,
|
'ADMINISTER') NOT NULL,
|
||||||
|
|
||||||
PRIMARY KEY (`entity_id`,`permission`),
|
PRIMARY KEY (`entity_id`,`permission`),
|
||||||
|
@@ -0,0 +1,31 @@
|
|||||||
|
--
|
||||||
|
-- Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
-- or more contributor license agreements. See the NOTICE file
|
||||||
|
-- distributed with this work for additional information
|
||||||
|
-- regarding copyright ownership. The ASF licenses this file
|
||||||
|
-- to you under the Apache License, Version 2.0 (the
|
||||||
|
-- "License"); you may not use this file except in compliance
|
||||||
|
-- with the License. You may obtain a copy of the License at
|
||||||
|
--
|
||||||
|
-- http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
--
|
||||||
|
-- Unless required by applicable law or agreed to in writing,
|
||||||
|
-- software distributed under the License is distributed on an
|
||||||
|
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
-- KIND, either express or implied. See the License for the
|
||||||
|
-- specific language governing permissions and limitations
|
||||||
|
-- under the License.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Add new system-level permission
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE `guacamole_system_permission`
|
||||||
|
MODIFY `permission` enum('CREATE_CONNECTION',
|
||||||
|
'CREATE_CONNECTION_GROUP',
|
||||||
|
'CREATE_SHARING_PROFILE',
|
||||||
|
'CREATE_USER',
|
||||||
|
'CREATE_USER_GROUP',
|
||||||
|
'AUDIT',
|
||||||
|
'ADMINISTER') NOT NULL;
|
@@ -56,6 +56,7 @@ CREATE TYPE guacamole_system_permission_type AS ENUM(
|
|||||||
'CREATE_SHARING_PROFILE',
|
'CREATE_SHARING_PROFILE',
|
||||||
'CREATE_USER',
|
'CREATE_USER',
|
||||||
'CREATE_USER_GROUP',
|
'CREATE_USER_GROUP',
|
||||||
|
'AUDIT',
|
||||||
'ADMINISTER'
|
'ADMINISTER'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -0,0 +1,26 @@
|
|||||||
|
--
|
||||||
|
-- Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
-- or more contributor license agreements. See the NOTICE file
|
||||||
|
-- distributed with this work for additional information
|
||||||
|
-- regarding copyright ownership. The ASF licenses this file
|
||||||
|
-- to you under the Apache License, Version 2.0 (the
|
||||||
|
-- "License"); you may not use this file except in compliance
|
||||||
|
-- with the License. You may obtain a copy of the License at
|
||||||
|
--
|
||||||
|
-- http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
--
|
||||||
|
-- Unless required by applicable law or agreed to in writing,
|
||||||
|
-- software distributed under the License is distributed on an
|
||||||
|
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
-- KIND, either express or implied. See the License for the
|
||||||
|
-- specific language governing permissions and limitations
|
||||||
|
-- under the License.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Add new system-level audit permission
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TYPE guacamole_system_permission_type
|
||||||
|
ADD VALUE 'AUDIT'
|
||||||
|
BEFORE 'ADMINISTER';
|
@@ -77,6 +77,7 @@ CREATE RULE [guacamole_system_permission_list] AS @list IN (
|
|||||||
'CREATE_SHARING_PROFILE',
|
'CREATE_SHARING_PROFILE',
|
||||||
'CREATE_USER',
|
'CREATE_USER',
|
||||||
'CREATE_USER_GROUP',
|
'CREATE_USER_GROUP',
|
||||||
|
'AUDIT',
|
||||||
'ADMINISTER'
|
'ADMINISTER'
|
||||||
);
|
);
|
||||||
GO
|
GO
|
||||||
|
@@ -0,0 +1,42 @@
|
|||||||
|
--
|
||||||
|
-- Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
-- or more contributor license agreements. See the NOTICE file
|
||||||
|
-- distributed with this work for additional information
|
||||||
|
-- regarding copyright ownership. The ASF licenses this file
|
||||||
|
-- to you under the Apache License, Version 2.0 (the
|
||||||
|
-- "License"); you may not use this file except in compliance
|
||||||
|
-- with the License. You may obtain a copy of the License at
|
||||||
|
--
|
||||||
|
-- http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
--
|
||||||
|
-- Unless required by applicable law or agreed to in writing,
|
||||||
|
-- software distributed under the License is distributed on an
|
||||||
|
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
-- KIND, either express or implied. See the License for the
|
||||||
|
-- specific language governing permissions and limitations
|
||||||
|
-- under the License.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Add new system-level audit permission
|
||||||
|
--
|
||||||
|
|
||||||
|
EXEC sp_unbindrule 'guacamole_system_permission';
|
||||||
|
DROP RULE [guacamole_system_permission_list];
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE RULE [guacamole_system_permission_list] AS @list IN (
|
||||||
|
'CREATE_CONNECTION',
|
||||||
|
'CREATE_CONNECTION_GROUP',
|
||||||
|
'CREATE_SHARING_PROFILE',
|
||||||
|
'CREATE_USER',
|
||||||
|
'CREATE_USER_GROUP',
|
||||||
|
'AUDIT',
|
||||||
|
'ADMINISTER'
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
EXEC sp_bindrule
|
||||||
|
'guacamole_system_permission_list',
|
||||||
|
'guacamole_system_permission';
|
||||||
|
GO
|
Reference in New Issue
Block a user