Должны ли пользователи из разных взаимосвязанных доменов быть помещены в одну и ту же таблицу БД? - PullRequest
0 голосов
/ 05 марта 2011

Например, у нас есть пользователи 3 типов: внутренние пользователи (сотрудники нашей компании), клиенты и подрядчики, и все они находятся в одной таблице с полем «тип» для их дифференциации.У нас также есть разные домены для каждого: internal.domain.com, clients.domain.com и contractors.domain.com.С каждым доменом сопоставляется тип пользователя.Чтобы войти на эти порталы, вам необходимо иметь правильного пользователя / pw и тип пользователя, соответствующий домену.Должны ли эти пользователи делиться с 1 таблицы на 3?

1 Ответ

1 голос
/ 05 марта 2011

Вам не нужны 3 пользовательские таблицы.Вы описываете понятие «роль», которое обычно приводит к следующим типам таблиц:

User
Role
User_Role (cross reference to declare which users have which roles)

У вас будет 3 роли: одна для внутренней, одна для клиентов, одна для подрядчиков.Это нормализованный дизайн, но вы можете обойтись денормализованным дизайном в одной пользовательской таблице (но я бы не рекомендовал его).Я предполагаю, что у вас будет другая логика в зависимости от роли.

Кроме того, я должен отметить, что с учетом типов пользователей и сайтов, которые вы описали выше, естественно подумать о выполнении такого рода аутентификации с использованием нескольких хранилищ LDAP,которые, например, могут быть реализованы с 3 различными активными каталогами.Это позволяет делегировать проверку подлинности и авторизацию ИТ-отделу, который контролирует эти домены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...