Вопрос

На стороне Java у нас есть фильтр сервлетов, который обрабатывает аутентификацию.Нам не нужно менять все остальные сервлеты или JSP, чтобы добавить аутентификацию на страницу, если только страница не нуждается в индивидуальном содержимом.

Как мы можем добиться того же на PHP?Мы не используем никаких фреймворков на PHP.

Это было полезно?

Решение

Прямого эквивалента нет.Лучше всего включить общий файл вверху и выполнить соответствующую логику вверху по мере необходимости.Так:

require 'common.php';

с:

if (!isset($_SESSION['userid'])) {
  // authentication stuff
}

Если вы хотите что-то сделать в конце, у вас есть несколько вариантов:

  1. Используйте обработчик выходного буфера с ob_start();или
  2. Зарегистрируйте обратный вызов выключения с помощью register_shutdown_function().

Так:

ob_start('my_callback');

function my_callback($str) {
  // do something
  return $str;
}

или

register_shutdown_function(my_callback);

function my_callback() {
  // do something
}

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top