We tend to use a combination of space level and page level access on our confluence instence. When permission is granted based on a user it's easy to see who has access to something but it's not as easy when it's granted to a group. Is there a way to get a list of users who has access to view a page?
I want a list of users who can view a page. an example would be If the space grants access to group a and user 1 but a page restricts reading to group c and user 1 then I want a list of users who are in both a and c along with user 1. This becomes a lot more complex as you go down the tree as the permissions on parent pages would impact the child page as well.
Ok, lemme pseudocode this out, then you tell me if that's what you're looking for:
// get groups that can view a particular page
// get users that can view that page but that are not in the groups list
// list group members of groups that can use page
// list users that can view page
You don't have to look at the space-wide permissions because each individual page will inherit those settings if they don't override them.
Matthew that about sums it up but you do need to worry about the space permissions because if someone does not have access to a space they still won't be able to access the page.
If the space is set to only let group a access the space and the page is set to only let group b access the page then only user 2 would be able to access the page. What I'm looking for is a easy to way display on the page what users have access to view the page.
Judging by the lack of other responces I'm guessing I would need to write a plugin to acheave what I want.
I was trying to get at what you really wanted. I think this would return what you want (essentially, a list of users who can access the page):
#set($permsList = $content.permissions)
#foreach($item in $permsList)
From what I understand, you can ignore the groups, because this will return a list of only users who can access the page, regardless of their group membership.
I was able to write a macro that does what I want but it's slow because it goes through every user in confluence. I have not found a good way to see who has access to a space so I could check fewer users but this also lists system admins (something I want).
Users with view Permission
##iterate over all view contentpermissionssets
#foreach( $user in $userAccessor.getUsers() )
##if yes print the name
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event