PHP хочет атрибуты Shibboleth в $ _SERVER, но они есть только в заголовках HTTP ответа провайдера - PullRequest
0 голосов
/ 18 октября 2010

Насколько я понимаю, есть два способа получить атрибуты Шибболета:

  • они доступны на $ _SERVER или
  • внутри ответа HTTP-заголовка (провайдера)

В последнем случае, как я могу сделать их доступными для приложения? Даже если я поймаю их один раз и попытаюсь внедрить их в серверную среду с помощью putenv (), это произойдет только на время текущего запроса. Я мог бы загрузить их в сеансе, но это нехорошо.

1 Ответ

1 голос
/ 19 октября 2010

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

Кроме того, в среде с несколькими рабочими (например, в предварительной ветке Apache), если вы как-то не внедрили переменную в родительский процесс (тот, который запускается от имени root), вы сможете повлиять только на одного потомка. Нет гарантии, что следующий запрос будет обработан тем же ребенком. И даже лучше, даже если вы внедрили родительский процесс, помеченный как корневой, дочерние элементы не унаследуют эту новую среду, пока они естественным образом не будут закрыты, а корневой родительский объект не разветвляется как новый дочерний.

...