Назад | Перейти на главную страницу

как настроить делегирование на IIS 7.5 и PHP (установщик веб-платформы)

У нас успешно работает корпоративная интрасеть с использованием PHP под IIS 7.5 на Win Server 2008 R2. Мы использовали установщик веб-платформы для настройки PHP. Олицетворение работало с самого начала, но делегирование не было настроено.

Насколько я понимаю, «олицетворение», иногда называемое одиночным переходом, берет маркер доступа с клиентской рабочей станции и использует его для запуска скрипта на веб-сервере, то есть первого перехода. Проблема возникает, когда приложение хочет читать / записывать файлы в сетевой файловой папке. Насколько я понимаю, «делегирование», иногда называемое «двойным прыжком», берет один и тот же токен доступа и передает его на веб-сервер (второй прыжок) для использования при доступе к удаленным файлам. Делегирование не работает. Я читал во многих местах, что делегирование - это то, что мне нужно, но не могу найти инструкций, как включить его в IIS 7.5.

Делегирование работает по-разному в зависимости от того, используете ли вы учетные записи рабочей группы / домена и локальные / доменные учетные записи или сертификаты. Я предполагаю, что вы управляете доменом и хотите использовать делегирование Kerberos.

Если вам нужно сделать так, чтобы учетная запись, под которой работает ваше приложение, была «доверенной для делегирования» в Active Directory (откройте ADUC (или ADAC, если вы используете сервер 2012), перейдите к учетной записи -> свойства -> вкладка делегирования и включите полное или ограниченное делегирование).

Только учетные записи домена с зарегистрированным SPN могут быть доверенными для делегирования. Встроенные учетные записи компьютеров получают SPN: s, зарегистрированные по умолчанию, но если вы используете обычную учетную запись пользователя, вам необходимо зарегистрировать SPN для своего веб-приложения и учетной записи, прежде чем вы сможете сделать его доверенным для делегирования (вкладка Delegation не отображается на учетных записях без зарегистрированного SPN: s).

Как установить SPN: s http://social.technet.microsoft.com/wiki/contents/articles/717.service-principal-names-spns-setspn-syntax-setspn-exe.aspx

Измените учетную запись приложения с виртуальной учетной записи по умолчанию. IIS создает «IIS AppPool \ applicationName» на NetworkService (если вы решили использовать учетную запись компьютера) или вновь созданную учетную запись пользователя (если вы пойдете по этому пути).

Убедитесь, что ваше приложение настроено для использования проверки подлинности Windows. Аутентификация Windows использует NTLM или Kerberos, только Kerberos поддерживает делегирование, поэтому вам необходимо иметь SPN, иначе NTLM будет использоваться для аутентификации и не будет работать.