users groups roles for all projects in a single table | Jon (LabKey DevOps) | 2018-06-29 13:44 |
Status: Closed | ||
Hi Alper, I unfortunately do not have a diagram that we can provide you, but the tables you will want to be focused on are: core.containers - This gives you the name of the project/folder and what its parent folder above it is. Each container has its own unique entityId that appears in an alphanumeric string like 8f12c8b9-4abe-1036-81db-3d45df6161f0. core.userdata - This gives you the actual user data with their userIds. core.principals - This lists users, groups, and permission roles, specifically what containers they're connected to. You can see the userId value (which can contain a group value as well), the container string value, and the type (u for user, g for group, r for role). The default system generated groups, like Admins, are clearly seen with negative userId values. core.members - This shows what users are tied to what groups using the userId value and the groupId value. core.roleassignments - This shows what users and groups are assigned to a specific role/permission and for the specific container. It would be a set of complex JOINs to do, but it is possible for you to identify permissions for a specific user and trace it to the container and what permissions they have under the container individually or being apart of a group, similarly to how the userAccess.view page works when going into the Site Users page and clicking on a user's permissions link. Regards, Jon |
||