各位大哥好,我比较菜。有个问题困扰了我很久一直想不明白,希望得到各位的帮助,越详细越好。像银行系统那样,在客户端通过直接关闭所有的后台管理页面后,(将后台的url拷到浏览器里)再次登录后台管理系统要求必须输入用户名和密码,这是如何实现的。 一般的后台,如果用户是直接关闭所有后台页面,而不是通过单击退出按钮来退出系统的话,关闭后(只要你的session还没有超时)只要你把后台的页面的地址拷贝到浏览器,是可以直接登录后台的,天涯社区好像也还是有这个问题的。 人家工商银行的就做得很好,我试过直接在进程里关闭浏览器,再重新打开,也绕不过他的登录验证界面。 他们究竟是怎样实现在最后一个页面关闭时将session清空的。 先谢谢了。
2 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
在登录系统后,验证成功后,就会创建一个新的会话,属于登录者的会话—session,
前提是你的打开forms验证后,在你退出页面或系统后,关闭页面就会关闭当前会话,这样你即使用url去登录,它会首先会验证你的session,你没有登录也就是说没有session,是不合法的。就会自动转到登录界面。
是否启用forms、默认的登陆界面、登录后的主页面都是在配置文件中配置的。
<authentication mode="Forms"> <forms loginUrl="~/Default.aspx" defaultUrl="LoginIn.aspx" protection="None" timeout="216000" path="/" cookieless="UseCookies" name=".AUXBLOGENGINE"></forms> </authentication>
在你的等力界面、登录成功后,跳转页面不需要写代码,直接如下就可以了,它会根据你配置文件中的配置自动跳转。
FormsAuthentication.RedirectFromLoginPage(modelUser.TrueName, false);
不负相思意
TA贡献1777条经验 获得超10个赞
定义个基类, 在page_unload中写进清除session, session里记录有几个页面应用到的session,当是最后一个页面的时候就清掉
- 2 回答
- 0 关注
- 525 浏览
添加回答
举报
0/150
提交
取消