Is it possible to prevent a user with a specific role from being able to register for ANY EVENT?

There is a Drupal permission for event registration. It is unchecked for that role, but doesn't seem to have any affect (assuming since anonymous is allowed to register) as users with that role can still register. On the CiviCRM side there are ACLs. If I allow "everyone" to register then it includes all roles. I don't see any way to exclude them.

This is pretty important as we have a global login for several users. People don't read clearly and end up registering as the wrong person...


  • So you want users A, B and C, who all have the Role X to not be able to Register while logged in, but D, E and F who may have Roles Y and/or Z (but not X) to be able to register?
    – petednz - fuzion
    Aug 8, 2017 at 20:38
  • Correct. I also need to be sure that anonymous users can register. Worst case I would be fine with ONLY allowing anonymous users to register.
    – Sleewok
    Aug 9, 2017 at 13:42

1 Answer 1


You can do this with a custom extension - I recommend checking out the documentation for hook_civicrm_aclGroup and maybe for hook_civicrm_permission as well - the second hook will give you an easy UI to control which roles can't register. The good news is that this is a simple extension as these things go - maybe 30 lines of code should do you.

Without a custom extension, there's no way to do this that I can think of. However, consider a) having a separate login for each user, and b) installing the No Overwrite extension as alternatives to mitigate this issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.