首页  ·  知识 ·  云计算
如何同一时间一个帐号只有一个用户使用
网友    综合  编辑:dezai   图片来源:网络
同一时间一个帐号只有一个用户使用
 用户真是变态,为了安全,已经设置了网卡绑定、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();
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读