Request.IsAuthenticated возвращает false при использовании программы перезаписи Intelligencia для ASP.NET
Я использую переписчик Intelligencia для ASP.NET. Теперь я добавил аутентификацию форм в проект и по какой-то причине на страницах, оптимизированных для SEO (.html), свойство Request.IsAuthenticated всегда имеет значение false. Я вижу, что куки созданы хорошо с Fiddler. Когда я захожу на любую другую страницу.aspx, я вижу, что это свойство имеет значение true. Очевидно, что это связано с рерайтером, однако я не мог найти никакого решения для этого вообще.
2 ответа
Я потратил довольно много времени на то, чтобы прочитать все решения в Интернете, но в моем случае это, наконец, сводилось к отсутствию параметра web.config:
<authentication mode="Forms">
<forms loginUrl="~/User/LogIn" timeout="2880" />
</authentication>
Если аутентификация не указана, аутентификация не будет использоваться, хотя у вас может быть файл cookie аутентификации.
Проверьте Устранение неполадок Аутентификация с помощью форм и FormsAuthLogger.
Для справки, у Microsoft есть подробная статья о том, что такое движущиеся части и процессы.