Existing Role Combinations

Component ID

2536674

Component name

Existing Role Combinations

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

This module is intended to be a drop-in replacement for the (inefficient) authcache default cartesian brute force enumeration which calculates every possible role combination that could exist from your authcache enabled roles.

This Brute Force enumeration provides the

This module aims to fix that by providing enumeration only for the role combinations that actually exist!

There are two ways to use this module: Calculate the existing role combinations on the fly (smaller sites), or track them in the database (for larger sites).

  • To pick which way you'll use go to: /admin/config/system/existing-role-combinations/settings
  • If you use thedatabase method, you will need to install entity_modified module. That module will provided a timestamp of when each user is updated so that the existing_role_combinations_cron job can track every user as they're updated. Oh yeah, you're going to want to configure cron.
  • If you're using the database method, there will also be some initial setup:
  • go to admin/config/system/existing-role-combinations and hit submit, it will review every user on the site and create a list of every role combination that actually exists among your user base. In my use case, I had > 8000 users, but only 44 unique role combinations.
  • If there are too many users to create a batch at once, you can break it up into smaller groupings of UIDs.
  • If you're using the 'calculate on the fly' method, that's all you have to do. If you disable the cron job and don't need to install entity_modified.
  • Now when your authcache system expires a node using the expire module, the enumeration will be provided by this module using only the role combinations that exist.
  • No more memory overloads. You'll be able to use a lot more than 10 roles now.