2010-12-09 2 views
1

Наше веб-приложение, находящееся в стадии разработки, имеет аутентификацию на всех страницах.Кэширование клиента ASP.Net на аутентифицированных страницах

Мы можем отказать пользователю в доступе к какой-либо конкретной странице, но обнаружили, что если пользователь ранее открыл страницу, которую они все равно могут получить к странице через URL-адрес. [Даже если они выйти из системы и войти]

Предполагая, что страница приходит из кэша клиента [Ctrl F5 в IE пинает в правильном поведении аутентификации или очистки кэша клиента]

Многое зависит от того, как мы внедрили аутентификацию, но быстрое исправление на нашей стороне было бы изнутри раздела admin, где мы запрещаем доступ к определенным страницам, на которых мы заканчиваем клиентский кеш для этой страницы.

Есть ли способ сделать это программно.

Это будет означать, что кэширование клиентов будет продолжать работать как обычно для всех других пользователей, которые все еще имели доступ к рассматриваемой странице.

ответ

1

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

Response.Cache.SetCacheability(HttpCacheability.NoCache) 
+0

Спасибо, поэтому единственный разумный подход, казалось бы, заключается в том, чтобы полностью отключить кэширование клиентов на любой странице, которая могла иметь ограниченный доступ к роли/пользователю. Вышеприведенная команда, казалось бы, отключает кэширование прокси также – Liam 2010-12-09 11:47:38

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