Для начала у меня есть следующие таблицы:
Логины
id | Username | Active
-------------------------
1 | test1 | Yes
2 | test2 | No
3 | test3 | Yes
MasterAccounts
id | MasterName | Active
-------------------------
1 | Master1 | Yes
2 | Master2 | No
3 | Master3 | Yes
Итак, я пытаюсь выполнить следующее,Каждая запись в каждой таблице в базе данных связана с MasterAccount.Более или менее, это приложение будет использоваться несколькими компаниями, поэтому каждая компания должна видеть только записи, относящиеся к их бизнесу.Для этого я связал каждую запись в базе данных с MasterAccountID.Это достаточно просто, если пользователю 'test1' нужно только просматривать записи для 'Master1'. Я бы просто добавил столбец в таблицу логинов, связывающий логин с главной учетной записью.Мое затруднение заключается в учетных записях, которые будут иметь доступ к нескольким основным учетным записям.Как можно структурировать схему или добавить дополнительные таблицы (группы пользователей?) Для обработки, если «test1» нужна была возможность доступа к записям «Master1» и «Master3».
Моя первая идея состояла в том, чтобы иметь пользователятаблица групп, в которой указываются все комбинации MasterAccounts и присваивается каждой комбинации идентификатор, связанный с учетной записью пользователя.
Моя вторая идея заключается в добавлении еще одного столбца в таблицу логинов, который будет просто объединенным.Строка всех MasterAccountID, к которым у них есть доступ.Когда пользователь входит в веб-приложение, проанализируйте эту строку, чтобы получить все идентификаторы, к которым можно получить доступ, и перейдите оттуда.
У меня вопрос, является ли одно из этих решений правильным способом решения этой задачи, илиЕсть ли стандартный способ добиться этого?Я чувствую, как будто я думаю о себе в кругах и упускаю что-то очевидное.