Внешняя аутентификация / авторизация для CakePHP - PullRequest
3 голосов
/ 18 ноября 2010

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

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

На этом этапе CakePHP будет считывать содержимое $_SERVER['REMOTE_USER'], чтобы идентифицировать пользователя и представлять его или ееправильная информация.

Конкретные вопросы:

  • Предполагая, что мы можем доверять безопасности единого входа, является ли этот подход безопасным и надежным?
  • Возможно ли (илиполезно) интегрировать этот механизм с компонентом аутентификации Cake?
  • Является ли Cakey непосредственным считыванием суперглобального $_SERVER?
  • Существует ли более похожий на Cake способ создания единого входа в приложение?

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

Спасибо!

Редактировать: Просто чтобы повторить мой комментарий ниже, SSO и все приложения будут на наших серверах.Мы не будем использовать RealID или любой другой внешний механизм аутентификации.Поэтому, когда я говорю «внешняя» авторизация, я имею в виду внешний для CakePHP, но не внешний для нашего веб-сервера.

1 Ответ

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

AFAIK, REMOTE_USER устанавливается, только если установлен заголовок «Требуется авторизация», и пользователь аутентифицируется с использованием http auth.

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

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

Я настоятельно рекомендую придерживаться сеансовой аутентификации и авторизации.

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