Этот вопрос не о структуре базы данных самой системы RBAC, а о том, как использовать эту базу данных в сочетании с базой данных конкретного приложения, когда это веб-приложение позволяет пользователям отправлять контент.
В моем нынешнем виде RBAC должен легко работать для простого фонового административного приложения, где сотрудники могут добавлять и обновлять записи - например, в интернет-магазине, как правило, нет пользовательского контента. Две базы данных могут оставаться отдельными. Однако я не уверен, как я мог бы повторно использовать свой дизайн RBAC с веб-сайтом / приложением, которое позволяет его пользователям отправлять контент. У меня будет две таблицы User в двух базах данных, для которых требуются разрешения на добавление / обновление записей.
Включаю ли я свою базу данных RBAC в базу данных сайта и делюсь таблицей пользователей?
Разве я не разделяю эти два?
Что-то еще?
Если вариант 2, я:
(A) дублировать пользователей из базы данных сайта в таблицу пользователей RBAC
(B) создать связь с таблицей пользователей в базе данных сайта
(C) создать новую систему RBAC в базе данных сайта для пользователей сайта и иметь отдельный RBAC для пользователей-администраторов?
A кажется плохим, так как я дублирую данные, но кажется довольно простым в реализации. B, кажется, будет трудно создать связь с двумя отдельными пользовательскими таблицами. C также является дублированием, но я могу сильно настроить этот RBAC, не влияя на RBAC «admin».
В основном я хочу сделать мою систему RBAC максимально пригодной для повторного использования, а наличие возможности предоставления контента пользователями, специализирующимися на приложениях, усложняет задачу.
Эта моя маленькая система RBAC для меня - в основном способ обучения, поэтому, пожалуйста, не называйте "вы должны использовать фреймворк x / y / z". Используя термин, который я обнаружил недавно, я в некотором роде болван и люблю изобретать их всякий раз, когда мне интересно! :)
Я буду использовать MySQL и PHP для своих сайтов, но это не должно иметь значения, так как это дизайн базы данных, о котором я спрашиваю здесь.
Если мой вопрос неясен, пожалуйста, дайте мне знать, и я объясню дальше. Спасибо всем за ваше время.