首页 新闻 会员 周边 捐助

关于银行系统的后台登录实现

0
[已解决问题] 解决于 2009-10-05 22:13

各位大哥好,我比较菜。有个问题困扰了我很久一直想不明白,希望得到各位的帮助,越详细越好。

像银行系统那样,在客户端通过直接关闭所有的后台管理页面后,(将后台的url拷到浏览器里)再次登录后台管理系统要求必须输入用户名和密码,这是如何实现的。

 

一般的后台,如果用户是直接关闭所有后台页面,而不是通过单击退出按钮来退出系统的话,关闭后(只要你的session还没有超时)只要你把后台的页面的地址拷贝到浏览器,是可以直接登录后台的,天涯社区好像也还是有这个问题的。

 

人家工商银行的就做得很好,我试过直接在进程里关闭浏览器,再重新打开,也绕不过他的登录验证界面。

 

他们究竟是怎样实现在最后一个页面关闭时将session清空的。

 

先谢谢了。

 

 

星夜孤独的主页 星夜孤独 | 初学一级 | 园豆:51
提问于:2009-09-23 19:23
< >
分享
最佳答案
0

在登录系统后,验证成功后,就会创建一个新的会话,属于登录者的会话—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);

邢少 | 专家六级 |园豆:10926 | 2009-09-24 08:42
通过私下交流弄清楚了
星夜孤独 | 园豆:51 (初学一级) | 2009-10-05 22:13
其他回答(5)
0

定义个基类, 在page_unload中写进清除session, session里记录有几个页面应用到的session,当是最后一个页面的时候就清掉

风浪 | 园豆:2996 (老鸟四级) | 2009-09-23 20:54
0

关闭所有的浏览器窗口,session就米有了,就清除了。

而天涯的应该是cookie的实现,不是基于session的。so可以继续登录。

自己也可以用asp.net写一写。

谢小漫 | 园豆:436 (菜鸟二级) | 2009-09-23 23:55
呵呵,楼上的,照你所说,基于session的登陆人数统计就不会有延迟了
支持(0) 反对(0) 星夜孤独 | 园豆:51 (初学一级) | 2009-09-24 09:38
0

我也不太明白  期待答案 

比咔咔 | 园豆:215 (菜鸟二级) | 2009-09-25 17:04
0

用session吧,浏览器关闭完了好像就清除完了。

cookie在浏览器关闭的时候不会清除。

要不然你在页面的卸载事件里面加一段清除session的代码?就向有的页面会提示你:“确认要离开当前页面吗?”

具体的实现你百度一下吧。我也不是很清楚了。仅仅提供一个思路。

小渺 | 园豆:208 (菜鸟二级) | 2009-09-25 17:19
0

我记得<body>中有个onunload()事件,在关闭浏览器时触发,你可以写个删除session或cookie的js函数,onunload()时触发。

GWPBrian | 园豆:428 (菜鸟二级) | 2009-10-05 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册