Вы смотрите на значение в том же запросе, когда они выходят из системы? Если так, то имя будет там, потому что пользователь все еще аутентифицирован для этого запроса (аутентификация происходит на ранних стадиях в ASP.NET). При следующем запросе вы должны увидеть, что пользователь больше не проходит аутентификацию (искомое значение будет пустым string
).
И наоборот, когда вы впервые аутентифицируете пользователя, вы увидите, что текущий запрос не аутентифицирован, но в последующих запросах он будет.