我正在维护用户登录的会话。
考虑一个场景,用户使用他的帐户凭据在第20页上工作。 他在会话变量超时时闲置。然后他开始在第20页上工作并点击page21的链接。这里的会话已经过期,所以他将重定向到登录页面。
成功登录后,用户应重定向到第21页。
那我该如何实现呢?
答案 0 :(得分:2)
首先想到的方法是通过get / post-variable发送信息。当您在第21页(我假设)执行会话检查并将用户重定向到登录页面时,您可以将页面名称附加到地址,即重定向到类似www.xyz.com/login.htm?page21(或者如果你不希望页面名称可见,而是使用post)。然后,当用户再次登录时,只需使用该信息将他/她重定向到第21页。
希望有所帮助。
答案 1 :(得分:2)
如果您正在使用表单身份验证,则有一个内置机制来执行此操作,就在这里。它会自动将用户重定向到URL Referrer页面
If (FrameworkManager.Authenticate(username, pwd)) Then
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(username, rememberme)
end if
答案 2 :(得分:1)
真的取决于你如何使用你的会话。如果您保留用户在会话中的1-20屏幕上输入的所有信息,那么一旦会话到期,您将失去所有信息,所以无论如何您都不幸。
如果您要将每个页面中的所有内容存储在数据库或其他某种机制中,那么应该很容易分辨出用户输入的最后一条信息。或者,您也可以存储用户在数据库中提交的最后一页的URL或名称。
当他们登录时,确定他们应该在哪个页面上,然后只需重定向他们。
答案 3 :(得分:0)
如果您正在执行Server.Transfer到登录页面而不是Request.Urlreferrer将是Page21的URL。
答案 4 :(得分:0)
你会把这段代码放在哪里?
if(FrameworkManager.Authenticate(username,pwd))然后
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(username,rememberme)
结束如果
答案 5 :(得分:-1)
如果用户想要通过其他浏览器再次登录,那么在这种情况下,您必须在数据库中添加状态列并检查状态是否为true 然后你必须在最后访问过的页面上重定向这个用户。所以通过cookie保存访问过的页面并获取页面名称并重定向页面。