Как развернуть авторизацию между несколькими приложениями cakephp? - PullRequest
1 голос
/ 21 августа 2009

У меня есть основной сайт example.com, где пользователи могут зарегистрироваться и войти или просто войти с помощью openid. Зарегистрированные пользователи могут создавать свои собственные сайты с поддоменами, такими как mysite.example.com. У каждого пользователя может быть несколько сайтов. Каждый сайт - это приложение CakePHP. Каждое приложение для торта имеет свой собственный ACL.

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

1 Ответ

1 голос
/ 21 августа 2009

Два основных требования здесь:

  1. Клиентские куки должны быть действительны для всех приложений

    Проверьте куки, установленные CakePHP на стороне клиента ( FireCookie подходит для этого). Часть domain файла cookie должна иметь значение .example.com (не www.example.com), чтобы его можно было применять к поддоменам. Это может работать в bootstrap.php:

    ini_set('session.cookie_domain', '.example.com');
    
  2. Серверное хранилище сеансов должно быть доступно для всех приложений

    В core.php для каждого приложения установите общее хранилище сеансов. Варианты:

    • php: при этом будет использоваться определенный каталог хранения для PHP, который должен быть одинаковым для всех приложений.
    • database: Если все приложения используют одну и ту же базу данных, это может быть вариантом.
    • cake: чтобы это работало, вам необходимо определить общий каталог /tmp для каждого приложения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...