Управление учетными записями saas и аутентификация с использованием Codeigniter и Aauth Library (пользователь может получить доступ ко многим учетным записям) - PullRequest
0 голосов
/ 08 февраля 2020

здесь все идет

Я создаю небольшой продукт Saas и использую несколько библиотек в моей системе.

Библиотеки
Aauth (для аутентификации)

Когда пользователь регистрируется в приложении, ему / ей создается новая учетная запись с использованием адреса электронной почты и предоставленных учетных данных. Система откроет учетную запись и сгенерирует новую учетную запись для аутентификации (имя пользователя и пароль).

НЕТ ВОПРОСА, ЗДЕСЬ.

Краткое описание моей проблемы выглядит следующим образом:

при условии, что существуют учетные записи A и B, которые принадлежат двум разным клиентам, а учетная запись A имеет 3 пользователей, а учетная запись B - 2 пользователя. Библиотека Aauth поддерживает уникальный адрес электронной почты в качестве логина.

Как разрешить пользователю из учетной записи A зарегистрироваться в учетной записи B без проблем.

Мне нужен ответ с точки зрения архитектуры. Как бы вы go об этом?

Решение, которое я подумал

Добавить новый столбец в пользовательскую таблицу (не будет работать Aauth использует электронную почту в качестве уникального идентификатора, и если я хочу реализовать это, потребуется много изменений исходного кода).

Измените библиотеку аутентификации на Ion_auth. Его проще изменять и меньше функций, но он по-прежнему содержит группы.

Создайте новую копию системы для каждой новой учетной записи (в случае обновления или выявления проблемы это просто невозможно)

Создать Новая БД для каждой отдельной учетной записи (Опять то же, что и выше)

Создайте свою собственную библиотеку аутентификации с более простыми концепциями и следующим образом:

DB Schema 
tbl_Accounts
id
name

tblt_users
id
email
password
account_id

tbl_groups
id
group_name

Проблема с этим решением состоит в том, что решает сложность схемы, но не решает, что пользователи могут зарегистрироваться в другой учетной записи. Пожалуйста, предложите лучшую схему для решения моих требований.

Примечания

Эта публикация дала мне несколько вещей, которые нужно учитывать в моем дизайне.

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

...