一种实现一个用户帐户不能同时登录的问题
来源:互联网 发布:外国人怎么在淘宝 编辑:程序博客网 时间:2024/05/22 13:11
//当前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();
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();
==========================
在Init方法中添加以下代码:
context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute);
为什么要在PreRequestHandlerExecute事件中进行处理呢,因为我需要将用户身份的信息存放在Session中,比如:用户名,用户的角色(使用字符串标明,比如:Administrator,Operator等)。而Session只有在AcquireRequestState事件之后才可以使用。而PreRequestHandlerExecute事件是在AcquireRequestState事件之后发生的。
void context_PreRequestHandlerExecute(object sender, EventArgs e)
{
}
- 一种实现一个用户帐户不能同时登录的问题
- Java Web防止用户重复登录(同一用户同时登录)的一种实现方案
- 一个用户同时登录两次的话,关于session回话问题
- 关于两个用户用同一浏览器不能同时登录同一网站的问题(session覆盖问题)
- useradd 用户不能登录图形界面的问题
- 使用Acegi实现多种用户登录的一种方案
- 解决robotium一个类多个测试不能同时运行的问题
- 关于sqlplus 新创建的用户不能登录的问题。
- 限制一个帐户不能同时登陆。(针对于不是同一台计算机)
- qq号码不能同时登陆被挤下问题的实现
- xp中 “控制面板”->“用户帐户”->“更改用户登录注销方式” 出现 一个最近安装的程序已停用欢迎界面和快速用户切换
- Java 实现一个账号不能同时在线
- 说明"登录的帐户"
- 解决同一用户同时登录的方案
- JDCB学习笔记 -- day05 实现一个用户的登录功能及解决SQL注入问题
- web端同一账户同时登陆踢掉前一个登录的用户
- “由于帐户限制您无法登录”小问题的解决办法
- “由于帐户限制您无法登录”小问题的解决办法
- sql2005 生成定长随机数的过程
- Simens S7-200 CN PPI 协议
- 服务器IIS出错:Server Application Error
- 我的BLOG
- Pthread使用手册
- 一种实现一个用户帐户不能同时登录的问题
- C#中的类型转换
- 颜色值
- SQLSERVER2005下配置一个邮件任务
- net的辅助工具列表
- 全国哀悼日,黑白网页CSS滤镜代码
- 透過 DTS 服務彙整企業多種資料來源簡單化多資料庫資料整合作業
- Excel自帶高級加密
- Java Persistence API