如何同一时间一个帐号只有一个用户使用
2009-10-16 17:02
357 查看
用户真是变态,为了安全,已经设置了网卡绑定、IP绑定、HTTPS,他还要求一个帐号只能由一个人使用。总不成我在每个页面去判定是否已经由其他人使用了他的帐号吧!
ASP.net有个eventhandle是PreRequestHandlerExecute,好了,我们就在这个事件里面判用户是否已经被其他人登录了,如果是,则转向到提示页面吧。
//当前Session是否存在
if(System.Web.HttpContext.Current.Session!=null)
{
//用户是否登录
if(System.Web.HttpContext.Current.Session["UserId"]!=null)
{
//获取用户登录的SessionID,在登录页面设置,并判定两个ID是否是相同的,不同嘛则后来有人用你的帐号登录了。
if(Application["Session"+System.Web.HttpContext.Current.Session["UserId"].ToString()].ToString() !=System.Web.HttpContext.Current.Session.SessionID)
{
Response.Redirect("/otheroneLogin.HTML",true);
}
}
}
//在初始化Global中Hook
public Global()
{
this.PreRequestHandlerExecute += new System.EventHandler(this.Global_PreRequestHandlerExecute);
}
//登录时设定的代码
Application.Lock();
Application["Session"+Session["UserId"].ToString()]=Session.SessionID;
Application.UnLock();
ASP.net有个eventhandle是PreRequestHandlerExecute,好了,我们就在这个事件里面判用户是否已经被其他人登录了,如果是,则转向到提示页面吧。
//当前Session是否存在
if(System.Web.HttpContext.Current.Session!=null)
{
//用户是否登录
if(System.Web.HttpContext.Current.Session["UserId"]!=null)
{
//获取用户登录的SessionID,在登录页面设置,并判定两个ID是否是相同的,不同嘛则后来有人用你的帐号登录了。
if(Application["Session"+System.Web.HttpContext.Current.Session["UserId"].ToString()].ToString() !=System.Web.HttpContext.Current.Session.SessionID)
{
Response.Redirect("/otheroneLogin.HTML",true);
}
}
}
//在初始化Global中Hook
public Global()
{
this.PreRequestHandlerExecute += new System.EventHandler(this.Global_PreRequestHandlerExecute);
}
//登录时设定的代码
Application.Lock();
Application["Session"+Session["UserId"].ToString()]=Session.SessionID;
Application.UnLock();
相关文章推荐
- 如何同一时间一个帐号只有一个用户使用
- 如何同一时间一个帐号只有一个用户使用?(asp.net)
- 如何同一时间一个帐号只有一个用户使用
- 如何同一时间一个帐号只有一个用户使用?(asp.net)
- 如何同一时间一个帐号只有一个用户使用
- 如何同一时间一个帐号只有一个用户使用?(asp.net)
- 同一个用户帐号,在同一时间内只能一个人使用。
- ubuntu下使用fstab挂载硬盘时,属于root,如何把它改为属于一个用户的(如sgjm)
- 如何在aspx页面中使用ascx控件(用户自定义的一个控件)?
- WIN7系统只有一个标准用户权限(如何提升到管理权限)
- 如何恢复一个非用户sa创建的数据库,且使用原用户创建者进行访问
- EOS非Portal模式下,如何开发一个用户登录验证程序,用户只有在登录验证通过后,方可访问系统。
- 如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。其中内存只有1G。
- normal用户同一时间只能有一个登录session,如何实现多个登录?
- 如何使用C++递归来删除单链表中某一个由用户输入特定的值
- oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录
- 用户控件包含一个搜索功能,但是在调用页面中按回车时无法直接提交这个表单,只有鼠标点击才提交,如何解决?
- 如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。其中内存只有1G。
- 『管理调优』如何确定一个回滚段被哪个用户使用
- springsecurity中如何做到多个用户不能使用同一个账号同时登陆系统