Время ожидания сеанса - PullRequest
0 голосов
/ 01 июня 2010

У меня есть веб-приложение ASP.NET C # на основе ролей, в котором я помещаю объект меню в сеанс, и у меня настроено время ожидания сеанса в файле web.config, как показано ниже:

 <forms defaultUrl="Home.aspx" loginUrl="Login.aspx" name=".ASPXFORMSAUTH" timeout="10"></forms>

Сначала я вошел в систему как сотрудник и дождался окончания сеанса, а затем, когда я щелкаю ссылку в меню, меня правильно перенаправляют на страницу входа с параметром ReturnUrl. Теперь, когда я пытаюсь войти в систему как администратор, я все еще вижу меню сотрудника, а не меню администратора. Метод, который загружает меню 1st, проверяет, не является ли объект сеанса меню нулевым, если это так, загружает меню из сеанса, если нет, то он создает меню и помещает его в сеанс. Таким образом, когда время ожидания системы, объект сеанса меню не очищается. Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 01 июня 2010

Вам также необходимо установить тайм-аут для вашего сеанса и убедиться, что это то же значение тайм-аута, что и для вашего времени аутентификации.

<sessionState cookieless="UseCookies" timeout="10" useHostingIdentity="true"/>

Это должно завершить сеанс одновременно с истечением срока аутентификации.

1 голос
/ 01 июня 2010

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

Если проблема не в этом, во время отслеживания или пошагового выполнения кода проверьте, правильно ли приложение определяет, что пользователь является администратором и создает правильное меню.

...