Один из распространенных методов достижения этой цели - при каждой загрузке страницы проверять, не нужно ли выйти из системы для текущего пользователя.
if (User.Identity.IsAuthenticated && UserNeedsToSignOut())
{
FormsAuthentication.SignOut(); // kill the authentication cookie:
Response.Redirect("~/default.aspx"); // make sure you redirect in order for the cookie to not be sent on subsequent request
}
Вы можете быть обеспокоены тем, что этот метод будет слишком медленным,
«Почему я должен вызывать эту проклятую функцию при каждой загрузке страницы? Возможно, она каждый раз попадает в базу данных!»
Это не должно быть медленным. Вы можете кэшировать список пользователей, которые не должны входить в систему в любой момент времени. Если их имя пользователя находится в этом кэше, то код выхода из системы будет активирован при следующем доступе к странице.