2016-03-07 3 views
-1

server architectureЦентрализованная система Войти перенаправлять

У меня есть веб-приложение, которое мне нужно дублировать для нескольких клиентов.

У каждого клиента будет свое собственное пространство на сервере и база данных.

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

Клиенты могут получать доступ к своему сайту через URL-адреса поддоменов. URL-адрес одного клиента может выглядеть следующим образом: www.abcgroup.example.com (клиент: abcgroup)

Я хочу иметь одну централизованную страницу входа в систему по адресу www.example.com/login.

После входа в систему клиента он будет автоматически перенаправлен на abcgroup.example.com без необходимости вводить свой собственный URL-адрес поддомена. ex: Этот сайт смог это сделать https://tictail.com/

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

Я не уверен, должен ли я проверять все пользовательские таблицы в клиентских базах данных.

Нужно ли читать все таблицы пользователей? (Я использую Codeigniter 2)

Спасибо!

+0

у вас должна быть минимальная таблица пользователей в одной базе данных, чтобы вы могли сделать логин и перенаправить – user2293790

+0

. Проверьте обновление. спасибо –

ответ

1

2 способа сделать это:

  1. имеют центральную БД, который имеет все пользователи. Это гарантирует, что все пользователи уникальны. Имея несколько БД, вы можете запускать дубликатов пользователей.
  2. Предоставление пользователю выбора или ввода субдомена на странице входа. Некоторые веб-приложения делают это.
+0

Спасибо за комментарий komirad. Причина, по которой у меня есть несколько баз данных, заключается в том, что мне нужно изолировать данные друг от друга. У меня не может быть одной базы данных для всей архитектуры клиентов, поскольку она слишком сложна для нас. Есть ли способ обхода этой реализации, поэтому я могу перенаправить с одной страницы входа? –

+0

Вы можете клонировать пользователей в одну БД. Двигаясь вперед, к этой БД следует обращаться к проверке уникальности. Или у вас могут быть отдельные учетные записи «владелец продукта», которые они используют для управления своей подпиской. (Вот как это делает atlassian/jira). Я не думаю, что есть масштабируемое решение для запроса нескольких баз данных. –

Смежные вопросы