Hi,
We are using Alfresco Community Edition 6.2. Currently, I am trying to create a hierarchical permission structure using folders inside a site. The issue I am having is that we would like to keep inherited permissions while being able to set a "lower" access role on a per-user basis.
I have a Site1 with a Folder1 inside of it.
If Collaborator permissions for user1 are set on Site1, we would like to restrict user1 to Consumer permissions inside Folder1 while keeping any inherited permissions (the real use-case would probably have Folder1 deeper down, but this example proves the same situation).
From this link (Security and Authentication ) "Permissions set on a node take precedence over permissions set on the parent nodes."
I thought it might be as simple as setting user1 to have the Consumer role inside Folder1, but this still allows Collaborator permissions inside Folder1 from the inherited group__Site1_SiteCollaborator permissions.
However this link contains contradictory information (Understanding permissions in Alfresco Content Services ) "Since Alfresco Content Services prioritizes inherited permissions over local ones, deselect “Inherit Permissions” and make Legal a Collaborator and demote Everyone to Consumer."
I have also tried setting the following on Folder1 as I believe this is how a typical file system permission allows lower roles. In this case DENIED takes precedence and does not allow Consumer rights, because the permissions overlap:
{
"permissions": {
"locallySet": [
{
"authorityId": "user1",
"name": "SiteContributor",
"accessStatus": "DENIED"
},
{
"authorityId": "user1",
"name": "SiteConsumer",
"accessStatus": "ALLOWED"
}
]
}
}My latest idea is to create custom roles that exclude the lower level permissions. For example creating a custom ExclusiveEditor role that only includes Write, CheckOut, ReadPermissions and does not include the Consumer permissions.
That way we can Deny ExclusiveEditor while keeping Consumer permissions.
My questions are this:
1. Am I understanding correctly that the only way to set a lower level of access on a sub-folder folder is to remove inheritance?
2. My team is wondering how developers deal with this, because having a large amount of users makes this sort of management a nightmare to deal with. The use-case of setting a read-only permission for one user, while keeping inherited roles does not seem like a rare case.
3. Is the custom role idea a good solution in your opinion?