RoleAssign specifically allows site administrators to further delegate the task of managing user's roles while withholding the Administer permissions permission.

RoleAssign introduces a new permission called Assign roles. Users with this permission are able to assign selected roles to still other users. Only users with the Administer permissions permission may select which roles are available for assignment through this module.

RoleAssign is ideal for smaller sites with a system administrator and one assistant administrator role that should be reasonably restricted in what it allows. For larger sites with multiple levels of administrators or whenever you need finer-grained control over which role can assign which other role, check out Role Delegation. See #961682: Does the role delegation module supersede this module? for a short discussion of the relative merits of the two modules.

RoleAssign was developed by TBarregren.


It is possible for site administrators to delegate the user administration through the Administer users permission. But that doesn't include the right to assign roles to users. That is necessary if the delegatee should be able to administrate user accounts without intervention from a site administrator.

To delegate the assignment of roles, site administrators have had until now no other choice than also grant the Administer permissions permission. But that is not advisable, since it gives right to access all roles, and worse, to grant any rights to any role. That can be abused by the delegatee, who can assign himself all rights and thereby take control over the site.

This module solves this dilemma by introducing the Assign roles permission. While editing a user's account information, a user with this permission will be able to select roles for the user from a set of available roles. Roles available are configured by users with the Administer permissions permission. has a nice introductory video showing how to use RoleAssign.

Change of Maintainer for D7: salvis

I have received maintainership of this module to take it to Drupal 7. I intend to keep it simple and effective as it has always been. Thanks to the author and previous maintainers for their fine work.

Core Issue in Drupal 7 (outside of RoleAssign)

RoleAssign and similar modules typically secure the Administer users permission. However, that permission has the ability to change the Administrator Role on admin/config/people/accounts/settings, which is a serious threat in this context (see #1356964: Hide the Administrator role selection in admin/config/people/accounts unless the user has the 'administer permissions'). The FixCore module has a fix for this issue.

RoleAssign for Drupal 8

tkuldeep17 and svendecabooter have ported RoleAssign to D8. Now we need testing, see #2622542: RoleAssign for D8 — ALPHA2 for details.

Project information