各位前辈,大哥们:小弟是新手来的!昨天在做项目的时候!做到后台登录时出现了这样的一个问题:就是用户从登录页面正常登录后,可以通过浏览器的返回按钮返回到登录页面!且又可以从登录页面直接返回到之前登录后的页面!小弟昨天情急之下看了网易的邮箱登录功能!
发现:从网易邮箱登录页面正常登录后,可以点击浏览器时,可以返回到登录页面(好像那个页面是重新下载的),且返回后也无法通过前进按钮直接前进到之前登录之后的页面!
请问:网易邮箱它那个功能要怎么实现的!我们asp.net有没什么方法解决很好的解决这类问题的?
我试了下不行,后退时不刷新页面的,也就是说后退不会执行任何代码。
有种方式,就是用showModalDialog方式进入页面就可以,因为就没有前进、后退按钮了。
登陆成功的页面是需要权限认证的,如果你登陆成功,状态(Session)已经得到认证并存储,返回登陆页面是正常的,再返回登陆成功能页面当然也可以(除非你在登陆页面清楚用户的登陆状态)。
一般的话,登陆页面page_load里面检测用户是否已经登录了,如果是登陆了,则跳转到登陆后的页面。这也样已经点后退,他又会跳回来,感觉这样更好,退出之后才能访问登陆的页面。
如果你一定要像网易那样的。那就在page_load页面加载的时候如果已经登陆了就退出登陆就行了。
登录成功后,Response.Redirect(url);
url是成功后跳转的页面,这样就不会有你不想要的 前进 和后退了
使用下面的代码试试:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Expires = -1;
Response.AddHeader("pragma", "no-cache");
Response.AddHeader("cache-control", "no-cache");
Response.CacheControl = "no-cache";
Response.Cache.SetNoStore();
只要你做好权限,和session过期时间,以及session过期时间,要退就退了呗,有什么大不了