Идя на комментарии так же, как и на вопрос, я не уверен, если вы за чем-то, что выйдет из системы через определенное время независимо от активности или сразу после периода бездействия.
Если вы счастливы использовать стандартный ASP.NET mechanisms, это может быть сделано для вас без каких-либо серьезных работ:
Настройка membership provider.
Убедитесь, что ваш authentication section определяет loginUrl:
<authentication mode="Forms">
<forms loginUrl="login.aspx" />
</authentication>
Вы можете установить тайм-аут, отличный по умолчанию 30 минут с использованием «тайм-аут» атрибут на forms element:
<authentication mode="Forms">
<forms loginUrl="login.aspx" timeout="15"/>
</authentication>
Это протоколирует пользователь отключится после 15 минут бездействия на вашем сайте (либо с открытым браузером, либо без бинауки javascript), либо если они проводят 15 минут на другом сайте).
Запретить доступ анонимных пользователей
<authorization>
<deny users="?" />
</authorization>
Затем убедитесь, что ваш Логин, регистрация и, возможно, забытые страницы паролей являются, доступными для всех пользователей с помощью location Element:
<location path="Logon.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<location path="Register.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<!-- etc -->
Таким образом, когда аутентификация пользователя cookie истекает, они будут перенаправлены на URL-адрес, указанный в элементе loginUrl на вашей странице форм.
Если вы не используете стандартные механизмы ASP.NET, то вы, вероятно, будет лучше реализации «базовая страница» модель типа.
Создайте новый класс, который наследует System.Web.UI.Page, который будет проверять состояние входа пользователя, а также если они не вошли в систему/время ожидания, а затем перенаправить их на страницу входа в систему.
На ваших страницах, которые должны быть заблокированы, вместо наследования из System.Web.UI.Page, вы наследуете от своего базового класса страницы (пример такого типа настройки, чтобы сделать что-то подобное), проверьте настройки на каждом страницу) можно увидеть в my answer here
страницы входа, вероятно, нужно иметь некоторый кадр перебор JS в нем, чтобы перейти обратно из плавающего фрейма:
if (top!=self.parent){
top.location=self.parent.location;
}
Или вы говорите, что, нажимая «назад», они все равно могут видеть ваши страницы через кеш браузеров? В этом случае вам нужно будет играть с заголовками кэша на каждой странице:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Хорошо, хорошо, в этом случае вам также потребуется объект таймера JS для выполнения Местоположение. Заменить на страницу входа в систему - иметь это в пользовательский элемент управления на каждой странице (или еще лучше, в вашей главной страницы) для автоматического перенаправления пользователя через п минут:
<script type="text/javascript">
setTimeout('location.Replace("/login.aspx")', 900000);
</script>
время, в миллисекундах, так что это будет переместите их в течение 15 минут, и вам не нужно получать всю инфраструктуру jQuery только для этого.
Вы также можете посмотреть в мета-тег обновления:
<meta http-equiv="refresh" content="900;url=http://example.com/login.aspx" />
Который заставит браузер обновить на страницу входа через 15 минут (это один в секундах).
Вы должны отметить это как ответ, чтобы сохранить людей, тратящих время на него –