Собственно по ролям. Если у вас только один пользователь может иметь определенную роль и при смене роли у нового пользователя нужно забирать ее у старого, то храните связку "роль - пользователь" и "пользователь - роль" в мемкеш например.
И при смене роли инвалидируйте старые ключи