Как перенаправить пользователя на предыдущую страницу (где сеанс истек) после входа в систему? - PullRequest
1 голос
/ 11 мая 2009

Я поддерживаю сеанс для входа пользователя.

Рассмотрим сценарий, когда пользователь работает на стр. 20 со своими учетными данными. Он бездействует в течение времени ожидания переменной сеанса. Затем он начинает работать над страницей 20 и щелкает ссылку на странице 21. Здесь сеанс истек, поэтому он перенаправит на страницу входа.

После успешного входа в систему пользователь должен перенаправить на страницу21.

Так как мне этого добиться?

Ответы [ 6 ]

2 голосов
/ 11 мая 2009

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

If (FrameworkManager.Authenticate(username, pwd)) Then        
   System.Web.Security.FormsAuthentication.RedirectFromLoginPage(username, rememberme)
end if
2 голосов
/ 11 мая 2009

Первый способ, который приходит на ум - это отправить информацию через переменную get / post. Когда вы выполняете проверку сеанса на стр. 21 (я предполагаю) и перенаправляете пользователя на страницу входа, вы можете добавить имя страницы к адресу, то есть перенаправить на что-то вроде www.xyz.com/login.htm?page21 (или если Вы не хотите, чтобы имя страницы было видно, вместо этого используйте post). Затем просто используйте эту информацию, когда пользователь снова входит в систему, чтобы перенаправить его на страницу 21.

Надеюсь, это поможет.

1 голос
/ 11 мая 2009

На самом деле это зависит от того, как вы используете сеанс. Если вы сохраняете всю информацию, которую пользователь вводит на сеансах 1–20 в сеансе, вы потеряете ее по окончании сеанса, так что вам все равно не повезет.

Если вы храните все данные с каждой страницы в базе данных или каком-либо другом механизме, тогда будет легко определить, какая последняя часть информации была введена пользователем. Кроме того, вы также можете сохранить URL-адрес или имя последней страницы, которую пользователь отправил в базу данных.

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

0 голосов
/ 01 мая 2015

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

0 голосов
/ 12 мая 2009

Куда бы вы положили этот код?

If (FrameworkManager.Authenticate (имя пользователя, pwd)) То
System.Web.Security.FormsAuthentication.RedirectFromLoginPage (имя пользователя, запомнить меня) конец если

0 голосов
/ 11 мая 2009

Если вы делаете Server.Transfer на страницу входа, чем Request.Urlreferrer будет URL-адрес страницы21.

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