User with two groups | Community
Skip to main content
New Member
May 13, 2025
Solved

User with two groups

  • May 13, 2025
  • 3 replies
  • 1044 views

Hello, a pleasure to greet you

 

I have two sites, one is hosted at /content/site1 and the other at /content/site2. I have a role called author_site1 and another called author_site2. The error I'm experiencing is when I assign a user to both the author_site1 group and the author_site2 group, it removes the permission to view both contents.

I have tried different ways to manage permissions:

  1. Allow everything in /content and, for author_site1, deny everything except /content/site1, and for author_site2, deny everything except /content/site2. When assigning a user to only one group, this works correctly, but when I assign both groups, I can't see anything.
  2. Deny everything in /content and only allow content from /content/site1 for author_site1. I do the same for author_site2: deny everything in /content and only allow content in /content/site2. When assigning only one group to the user, it doesn't allow me to see any content.
  3. Create an additional group responsible for denying everything, and have author_site1 with permission to allow /content/site1 and author_site2 with permission to allow /content/site2. In this case, the same issue occurs as in point 2; I can't see anything when assigning only one group to the user.

As an additional note, I adjust all these permissions with jcr:all. I have also tried modifying permissions in the 'Permissions' tab of each content, and I tried assigning the deny-all group in the 'Details' PopUp to the /content path, but it didn't work either.

There is also a group that is always added by default called 'everyone'. I have version 6.5.18 of AEM.

 

 

Best answer by AmitVishwakarma

Hi @juan_carlosor2 ,

3 replies

arunpatidar
Community Advisor
Community Advisor
May 13, 2025

Hi @juan_carlosor2 

Don't use deny rule as it has preference, it may conflict with use case.

Only use allow permission e.g. author_site1 group, allow /content/site1

Arun Patidar
New Member
May 13, 2025

Yes, I have also tried removing the deny-all and leaving only the allow /content/site1 or /content/site2, but this causes nothing to be visible. I can only see something when I also add /, but this causes all contents to be visible, even those that shouldn't be.

arunpatidar
Community Advisor
Community Advisor
May 14, 2025

Hi @juan_carlosor2 

You also need read group which allow read only access to other content which is required to render a page/template /apps, /etc, /var, /conf etc.

Arun Patidar
K_M_K_Srikanth
May 13, 2025

Hi @juan_carlosor2 

 

This issue you're facing is a common challenge in AEM when dealing with overlapping deny permissions across multiple groups. Here's a clear explanation of what's happening and how to fix it:

AEM permission evaluation is additive but with precedence for deny rules. This means:

  • Allow permissions from one group can be overridden by deny permissions from another.

  • When a user belongs to multiple groups, any deny takes precedence over allow — even if the allow is more specific.

In your case:

  • When you assign both author_site1 and author_site2 to a user, the deny rules from each group cancel out the allow rules of the other, effectively blocking access to both sites.

Here’s how to fix it:

🔧 Option 1: Use Only Allow Rules (No Deny)

  1. Remove all deny rules from author_site1 and author_site2.

  2. For each group:

    • Grant only the required permissions to the relevant path.

      • author_site1 → allow on /content/site1

      • author_site2 → allow on /content/site2

  3. Do not add any permissions (allow/deny) to /content itself.

  4. Let the lack of permissions act as implicit denial for other paths.

This way, users will only have access to the paths explicitly allowed.

 

Example Permissions Setup

  • Group: author_site1

    • Allow (jcr:all) on /content/site1

  • Group: author_site2

    • Allow (jcr:all) on /content/site2

  • No deny anywhere — especially not on /content or across-site paths


 

New Member
May 13, 2025

"This case causes no content to be visible. If I only add allow /content/site1, I don't see any content, but when I add /, then the contents are visible, including contents that shouldn't be seen."

K_M_K_Srikanth
May 13, 2025

Please try either of these options or if you can share a screenshot of any reference then it will be useful for further analysis

 

Approach 1:

 

for group author_site1

deny jcr:all on /content

allow jcr:all on /content/jcr:content

allow (your permissions) on /content/author_site1

 

for group author_site2

deny jcr:all on /content

allow jcr:all on /content/jcr:content

allow (your permissions) on /content/author_site2

 

Approach 2

or create a super group something like

author_default

deny jcr:all on /content

allow jcr:all on /content/jcr:content

add this as a member of everyone

 

then

for group author_site1

allow (your permissions) on /content/author_site1

add this group as a member of author_default

 

for group author_site2

allow (your permissions) on /content/author_site2

add this group as a member of author_default

AmitVishwakarma
Community Advisor
AmitVishwakarmaCommunity AdvisorAccepted solution
Community Advisor
May 14, 2025

Hi @juan_carlosor2 ,

New Member
May 15, 2025

We have finally taken this approach, it is not the result we initially expected but it works for us. In addition we also gave read permission to the root "/"

The end result is that you can read all the content, but the difference is in the writing and publishing permissions that each group has.

Thank you all