Как проверить нулевую сессию на главной странице без выхода из системы - PullRequest
0 голосов
/ 21 января 2019

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

Я также делаю то же самое при каждой загрузке страницы.

if (Session["Nome"] == null)
{
    FormsAuthentication.RedirectToLoginPage();
}

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

1 Ответ

0 голосов
/ 21 января 2019

По умолчанию Session переменные имеют промежуток времени 20 минут, поэтому, если вы не обновляете переменную, она будет нулевой по истечении промежутка времени. Поэтому вам нужно либо сбросить временной интервал для переменной "Nome" (не рекомендуется, поскольку пребывание на одной странице в течение 21 минуты приведет к повторному входу пользователя в систему после другой обратной передачи), либо установите флажок

if(!HttpContext.Current.User.Identity.IsAuthenticated)
    FormsAuthentification.RedirectToLoginPage();
var username = HttpContext.Current.User.Identity.Name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...