как реализовать пользовательские сессии в asp.net c # - PullRequest
0 голосов
/ 13 ноября 2010

привет позвольте мне объяснить сценарий.

Я занимаюсь разработкой приложения для онлайн-экзамена. Как только пользователь входит в систему, ему разрешается запустить Тест; при нажатии на кнопку запуска теста пользователь перенаправляется на страницу вопросов. Теперь, когда пользователь нажимает кнопку и подтверждает завершение теста, он перенаправляется на страницу результатов.

Теперь я хочу, чтобы при отображении страницы результатов пользователь автоматически выходил из системы и не мог вернуться к предыдущим страницам, нажав кнопку возврата браузера.

Проблема, с которой я сталкиваюсь сейчас, заключается в том, что когда отображается страница результатов, любой может нажать кнопку «Назад», продолжить тестирование и управлять результатом. Как я могу это остановить. Нужно детальное решение для этого.

Ответы [ 4 ]

2 голосов
/ 13 ноября 2010

Вам нужно будет отключить кеширование страниц.Когда вы нажимаете кнопку «Назад», браузер будет использовать кэшированную версию страницы.Если вы отключите кэширование, когда браузер активирует механизм возврата, он определит, что страница должна быть извлечена снова, обрабатывая страницу в состоянии, когда пользователь больше не вошел в систему.

2 голосов
/ 13 ноября 2010

Сохраните переменную сеанса, например currentQ, которая содержит идентификатор последнего ответа на вопрос. Если пользователь пытается ответить на ранее отвеченный вопрос, не принимайте ответ и вместо этого перенаправьте его на соответствующую страницу.

Это также не позволит ему использовать кнопку «Назад», когда он находится в середине экзамена.

0 голосов
/ 13 ноября 2010

Лучший способ сделать это - использовать главную страницу или разместить пользовательский элемент управления на каждой странице.MasterPage / UserControl должен проверять текущий сеанс (зарегистрирован пользователь или нет).Если сессия доступна, то она должна продолжиться, иначе она должна перейти на экран входа в систему.На странице результатов вы можете очистить значение сеанса.

Теперь, если пользователи нажимают кнопку «Назад» на странице результатов, страница (главная страница или управление пользователем) не найдет сеанс и перенаправит страницу на страницу входа.помочь вам.

0 голосов
/ 13 ноября 2010

Вы должны сохранить вошедшего в систему пользователя в сеансе или файле cookie.Страница результатов должна всегда проверять файл cookie или сеанс, если пользователь вошел в систему. Если нет, на странице результатов будет отображаться сообщение обратной связи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...