Совместно использовать аутентификацию между различными приложениями в CakePHP? - PullRequest
2 голосов
/ 31 августа 2011

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

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

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

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

1 Ответ

0 голосов
/ 01 сентября 2011

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

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

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

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

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

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

...