Я предполагаю, что угроза, о которой вы беспокоитесь, - это сценарий с общей компьютерной средой, когда кто-то выходит из системы, но не закрывает свой браузер, а следующий пользователь садится и может получить доступ к тому, что он не должен, из-за переменной сеанса еще около 20 минут или около того?
Если вы должны использовать сессию, один из способов - просто проверить
System.Web.HttpContext.Current.User.Identity.IsAuthenticated
в любом месте, где вы беспокоитесь о том, что пользователь, не вошедший в систему, пользуется преимуществами предыдущих переменных сеанса пользователя, вошедших в систему.
Как говорится, вызов Session.Abandon () в Logoff, как предложил @ScottS, может быть самым простым способом, хотя эта опция может быть недоступна в размещенной среде.