User roles module
A role is a group of user groups. It is useful in installations with many users, when you need to change temporary user access rights for example.
A user could have many roles, and when you update roles in a user, it will update this user groups.
In each role it can be defined the start and end date and crons should update user groups.