Как создать централизованную базу данных пользователей - PullRequest
4 голосов
/ 29 ноября 2010

Моя компания создает множество приложений, которые имеют очень похожую функциональность, с несколькими отличиями между ними.Например, некоторые сайты имеют функцию создания группы, другие имеют страницы профиля пользователя, а другие позволяют пользователям накапливать очки достижений и тому подобное.

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

Как мы проектируем нашу базу данных?Лучше ли иметь единую центральную базу данных для всех наших приложений или разделить их на отдельные базы данных и выполнять СОЕДИНЕНИЕ через базы данных?Что лучше в плане производительности и дизайна?

Спасибо за понимание!

Ответы [ 5 ]

2 голосов
/ 29 ноября 2010

Просто зайдите с OpenID.Проще всего использовать Facebook Connect в качестве поставщика.Они позволяют вам получить доступ ко всем данным вашего пользователя (например, к имени и т. Д.), Чтобы вы могли идентифицировать и извлекать их, если это необходимо.

Если вы не хотите полагаться на внешнего поставщика для управления вашим пользователемучетных записей, затем станьте вашим собственным поставщиком OpenID.

1 голос
/ 29 ноября 2010

Если приложения размещены внутри компании, вы можете использовать активный каталог.Вы можете получить доступ к активной директории из php с помощью функции ldap.Затем можно добавить пользователей в группы в активном каталоге, чтобы предоставить им доступ к различным функциям в приложении.

1 голос
/ 29 ноября 2010

В общем случае я бы разработал таблицы, которые будут Основные данные , они будут единой версией приложения истинности в целом.Каждое приложение будет иметь доступ к одной и той же «клиентской базе».В вашем случае кажется, что концепция основных данных может быть применена к вашей базе данных приложений.

1 голос
/ 29 ноября 2010

Я бы взял два других ответа и соединил их, чтобы сделать приватный поставщик OpenId .

Таким образом, вы можете использовать стандартные клиенты OpenId для своих разработок и, возможно, даже открывать свои приложения для внешних поставщиков OpenId, если они нужны вам.

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

1 голос
/ 29 ноября 2010

У меня будет центральный сервер, на котором размещены пользовательские базы данных и веб-службы для доступа к этому пользователю.

Таким образом, вы можете использовать одну и ту же БД и выполнять вход через веб-сервисы в эту систему с вашего внешнего интерфейса.

Это также масштабируемо и может усложниться с вашими приложениями.

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