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