防止一个用户登录多次的方法
2007-08-08 09:44
225 查看
在web开发时,有的系统要求同一个用户在同一时间只能登录一次,也就是如果一个用户已经登录了,在退出之前如果再次登录的话需要报错。
常见的处理方法是,在用户登录时,判断此用户是否已经在Application中存在,如果存在就报错,不存在的话就加到Application中(Application是所有Session共有的,整个web应用程序唯一的一个对象):
string strUserId = txtUser.Text;
ArrayList list = Application.Get("GLOBAL_USER_LIST") as ArrayList;
if (list == null)
for (int i = 0; i < list.Count; i++)
list.Add(strUserId);
Application.Add("GLOBAL_USER_LIST", list);
当然这里使用Cache等保存也可以。
接下来就是要在用户退出的时候将此用户从Application中去除,我们可以在Global.asax的Session_End事件中处理:
void Session_End(object sender, EventArgs e)
function window.onbeforeunload()
var x=0;
function myRefresh()
myRefresh();
在web.config中设置
<sessionState mode="InProc" timeout="1"></sessionState>
test.aspx页面就是一个空页面,只不过需要在Page_Load中加入:
Response.Expires = -1;
保证不使用缓存,每次都能调用到这个页面。
原理就是:设置Session的过期时间是一分钟,然后在每个页面上定时每30秒连接一次测试页面,保持Session有效,总共连60次,也就是30分钟。如果30分钟后用户还没有操作,Session就会过期。当然,如果用户直接关闭浏览器,那么一分钟后Session也会过期。这样就可以满足要求了。
常见的处理方法是,在用户登录时,判断此用户是否已经在Application中存在,如果存在就报错,不存在的话就加到Application中(Application是所有Session共有的,整个web应用程序唯一的一个对象):
string strUserId = txtUser.Text;
ArrayList list = Application.Get("GLOBAL_USER_LIST") as ArrayList;
if (list == null)
for (int i = 0; i < list.Count; i++)
list.Add(strUserId);
Application.Add("GLOBAL_USER_LIST", list);
当然这里使用Cache等保存也可以。
接下来就是要在用户退出的时候将此用户从Application中去除,我们可以在Global.asax的Session_End事件中处理:
void Session_End(object sender, EventArgs e)
function window.onbeforeunload()
var x=0;
function myRefresh()
myRefresh();
在web.config中设置
<sessionState mode="InProc" timeout="1"></sessionState>
test.aspx页面就是一个空页面,只不过需要在Page_Load中加入:
Response.Expires = -1;
保证不使用缓存,每次都能调用到这个页面。
原理就是:设置Session的过期时间是一分钟,然后在每个页面上定时每30秒连接一次测试页面,保持Session有效,总共连60次,也就是30分钟。如果30分钟后用户还没有操作,Session就会过期。当然,如果用户直接关闭浏览器,那么一分钟后Session也会过期。这样就可以满足要求了。
相关文章推荐
- 防止一个用户登录多次的方法(zt)
- asp.net防止一个用户登录多次的方法
- 防止一个用户登录多次的方法(转帖)
- asp.net防止一个用户登录多次的方法
- 防止一个用户登录多次的方法
- 防止一个用户登录多次的方法
- 防止一个用户登录多次的方法
- Asp.net中防止用户多次登录的方法(转)
- Asp.Net中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法
- 阅读原文 ASP.NET中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法--希望大家跟我谈论
- ASP.NET中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法
- asp.net防止用户多次重复登录的方法
- Asp.net中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法