Окружающая среда:Windows 2003, IIS6 Webservice Войти Troubleshoot
win2003 работает IIS6 служить ASP страниц, которые требуют код Дельфы.
Delphi код контактирует с C# WebService, для которых необходимо войти в систему (login.asmx
). Журналы Webservice показывают, что регистрация прошла успешно. Результаты отладки показывают, что Context.User.Identity.IsAuthenticated returns true
.
После входа в систему, код delphi выполняет двойные проверки, если он еще аутентифицирован. Webservice возвращает false ->Context.User.Identity.IsAuthenticated returns false
.
Наше предположение: аутентификация cookie получена кодом delphi под управлением Учетные данные IIS6 не сохраняются на диске, поэтому вход в систему потерян.
Filemon показывает 'C:\WINDOWS\Temp\Temporary Internet Files'
доступ запрещен. Предоставление IIS6 прав администратора пользователя в этой папке устраняет проблему, но неприемлемо, поскольку файлы cookie должны работать по умолчанию.
Запуск IIS6 в IIS5 режиме совместимости устраняет проблему, но также не является предпочтительным
Wanted решение: точная причина проблемы и наименьшей модификации возможной конфигурации (предоставление прав администратора для IUSR не вариант)
Я ожидаю, что IIS6 будет иметь место по умолчанию, где он имеет права, в которых он нуждается. Или это поведение по умолчанию для Windows2003, IIS6, чтобы файлы cookie не работали из коробки? –