2011-08-31 1 views
2

Я по-прежнему новичок в CakePHP, и сейчас я создал и развернул одно (довольно сложное) приложение, используя его. Он имеет полную поддержку пользователей и групп, и я нашел время, чтобы заставить таблицы доступа работать и все такое.Доля аутентификации между различными приложениями в CakePHP?

Теперь я создаю отдельное приложение. Сначала я создал совершенно новую установку CakePHP, но позже понял, что хочу аутентифицировать пользователей на основе моего первого приложения. В настоящее время они используют разные источники данных. Я понимаю, что это можно сделать несколькими способами, с различными плюсами и минусами. Do I:

  1. Держите их отдельно, добавьте источник данных в мое приложение расширения и выгрузите мой код аутентификации пользователя?
  2. Держите их отдельно, обрабатывайте логины с первым приложением и как-то делитесь этими данными со вторым, используя протокол связи?
  3. Объединить их в один источник данных и принять дополнительную сложность в моем приложении?
  4. Что-то совсем другое?

Я использую CakePHP для создания как сайты, которые будут быть запущены на том же хосте/имя хоста и подключения к одному серверу MySQL. Пользователи всегда хранятся/создаются в главном приложении и просто должны быть пассивно доступны для второго приложения.

+0

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

+0

Сайты хранят данные о студентах. Существует раздел сайта, посвященный регистрации студентов и разрешению им подать заявку на одну из наших программ. Этот новый сайт предназначен для студентов и преподавателей, и это глобальный календарь событий. Они в основном совершенно разные функции, за исключением общих учетных данных для входа: администратор программы не обязательно должен пробираться через таблицы для встреч, поэтому я хочу их разделить.Но я не думаю, что они технически должны быть отдельными - это просто расширит уже сложную кодовую базу. –

ответ

-1

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

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

У вас может быть одно приложение, у которого есть маршрут /users/register, который пользовательский контроллер позаботится о регистрации. Затем у вас может быть другая часть вашего приложения, которая будет маршрутизироваться до /calendar/...., где контроллер календаря позаботится о логике календаря. Если вам нужны отдельные календари для студентов и преподавателей, у вас могут быть такие маршруты, как /faculty/calendar/1 и /student/calendar/1, которые будут маршрутизироваться в разные части вашего контроллера календаря.

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

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

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

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

  • Нет связанных вопросов^_^