在ASP.NET中如何保证一个B/S管理系统的单开?
就是当你在一台机器上打开IE运行系统后,不允许再打开一个IE,同时在一台机器上运行多个
当用户运行时提示“你的系统已经打开”!
第一种:第一个用户打开ie登陆后写cookie,退出时注销cookie;第二个用户登陆时检测cookie,如果检测到已有用户登录,则不允许登录。
困难点:退出时注销cookie,要考虑好用户直接关闭ie怎么办。
困难解决:考虑cookie过期
第二种:第一个用户登录时,想办法获取此计算机的唯一标示写到服务器端;后面的类似第一种;
难点同第一种。
困难解决:考虑session超时
用户必须登录!且只能登录一次
维护一个全局变量,存储在线IP列表,在Session初始化时检查其IP是否处于当前全局IP列表中,如果已存在就设置Session["Filter"]=true。
然后在HttpModle或页面Oninit方法中判断Session["Filter"]是否为空,不为空则关闭输出。
在ASP.NET中如何保证一个B/S管理系统的单开?
就是当你在一台机器上打开IE运行系统后,不允许再打开一个IE,同时在一台机器上运行多个
当用户运行时提示“你的系统已经打开”!
---------------------------
思路可以换一下,用户登录状态登录到cookie中,如果再打开一个IE,就认为已经登录了,直接进入系统