PHP: централизованный аутентификатор сеанса страницы

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

страница входа -> если правильные учетные данные: установить сеанс -> если просмотреть защищенную страницу без сеанса: отклонить еще: разрешить

Какие-либо лучшие практики (или лучший метод) в отношении / чем это?

2 ответа

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

Если ваше приложение имеет единственную точку входа, это место для вызова вашей библиотеки / инфраструктуры управления сеансами. Например, с Zend Framework вы можете начать сеанс в начальной загрузке. Осталось только аутентифицировать сеанс в контроллере входа.

Если вы разрабатываете приложение PHP с несколькими точками входа, вы безумно будете пытаться скопировать и вставить весь этот код. Посмотрите на использование реального MVC фреймворка.

Я использую Zend_Controller для маршрутизации просмотров страниц в подобных ситуациях.

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

Другие вопросы по тегам