Logical-AND category permissions?

AI-generated summary

In a discussion about implementing logical-AND category permissions, Mark_Schmucker explains needing a Category AB accessible only to users who are members of both Group A and Group B — groups that are independently managed with no hierarchical relationship. He notes that logical-OR is straightforward (adding both groups to the category), and logical-AND would be easy if one group were a subgroup of the other — neither applies here. His proposed workaround is creating a third group, AB, populated automatically via plugin or API with users belonging to both A and B. Falco agrees, recommending a hidden group C that auto-populates from A and B, and suggests that for complex permission logic, integrating with an SSO system to automate group membership rules is a scalable long-term solution. Mark_Schmucker confirms that manual management isn’t feasible and seeks automation via plugin or API, aligning with Falco’s suggestion.

I have Group A with permission on Category A, and an independent Group B with permission on Category B. Now I need a Category AB, and users must be members of both Group A and Group B to see Category AB. Membership in Group A and Group B is independent- there is no relationship between them, and users opt-in to each.

  • Logical-OR would be easy- just add Group A and Group B under category permissions.
  • Logical-AND would be easy if there was a relationship between Group A and B- just make a subcategory.

Neither of those helps me. The only solution I can think of is make a third group AB and have a plugin that populates it with users who are members of both A and B. Any other suggestions?

Making a hidden group C, which automatically adds members from group A and B is the way to go.

If you handle complex groups and categories permissions you will eventually want to pass this information over from the system who manages that via Single Sign On. Using that you can automate logic like this on the SSO service.

I assume this requires a plugin or script via the API? It’s too much to do manually.