Как лучше с помощью схемы RBAC организовать блокировки пользователей на сайте?
Эта схема мне намного больше нравится чем ACL, но я немного не понимаю, как сделать блокироки(баны назначенные администраторами и модераторами) пользователей. И как сделать expired(когда заканчивается время пользователя и нужно автоматически его блокировать, что-бы например он пополнил баланс или ещё что то сделал).
Я сделал users, roles_users, roles в принципе можно добавить permissions и role_perm, быть может скорее даже нужно.
Но как организовать блокировки и expired? Какая схема лучше подойдёт?
RBAC обычно предполагает схему: все запрещено, разрешено избранное. Посему "баном" можно считать не назначенные права.
В более общем смысле бан - вписывается в RBAC только в случае, если у каждого права указывается время действия (в вашем случае в таблице roles_users), пусть и необязательное.
Вообще говоря лучше систему бана вынести отдельно, и не связывать с RBAC.
в расширенном смысле это не только roles, но и permissions... Т.е. баним по написанию блогов, то надо банить автоматически и по написанию комменатриев.