2015-07-01 4 views
0

У меня проблема, которую я не могу реплицировать на своем dev-сервере (IIS 8.5), но что происходит на моем реальном сервере.Аутентификация форм ASP.NET является отвратительной после RewritePath

Веб-сайт ASP.NET использует проверку подлинности форм, которая отлично работает, если URL-адрес не переписан. При перезаписанных URL-адресах пользователь не считается зарегистрированным. Если вы нажмете «войти», пользователь войдет в систему без перенаправления на форму входа в систему! Это означает, что cookie каким-то образом используется для аутентификации пользователя после нажатия «войти». Обновление переписан страницы возвращается к не вошли в систему

Вот несколько конкретных примеров:.

Перейти к http://www.paraglidingmap.com и войти со следующими данными (в правом верхнем углу экрана):

Имя пользователя: тест

Пароль: гибискус

Теперь перейдите на эту страницу, которая использует перенаправление URL, и вы не будете авторизованы! Но если вы нажмете «войти», вы будете волшебным образом войти в систему, пока не обновите страницу. http://www.paraglidingmap.com/page/AppAndroid

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

ответ

0

Я нашел решение. Вместо использования HttpContext.Current.RewritePath использование Context.Server.TransferRequest также передаёт файл cookie запроса.

Буду благодарен, если кто-нибудь сможет объяснить, почему это так.

Смежные вопросы