新闻动态
新闻动态
- 如何分析网站日志
- Regex.IsMatch 方法正则表达式在输入字符串中是否找到匹配项C#
- cstr用法
- float类型转换
- vue中ref用法
- 使用css、li、ul、div及js制作二级树形下拉菜单
- access 表打开后,默认输入法的问题,access默认输入法
- 总结地方论坛推广的几个小思路
- 13条秘籍让您的网站永远做百度的亲密爱人
- seo流水线的操作与其规模化的应用
联系我们
邮箱:
手机:15383239821
asp.net
ASP.NET2.0-防止同一用户同时登陆
作者:
发布时间:2013-08-28
点击:
要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开系统的呢?这就要定期清除cache中的内容了,也就是设置一个cache的时间。这个时间可以跟用户的session值联系起来,刚好当用户session值失效的时候该用户在cache里面的信息也会被清空.这样就达到了防止同时登陆的效果,具体代码如下,放在登陆成功的地方: string key = TextBox1.Text; //用户名文本框设为cache关键字 string uer = Convert.ToString(Cache[key]); //读取cache中用户相应的值 //判断cache中是否有用户的信息,如果没有相关的值,说明用户未登陆 if (uer == null || uer == String.Empty) { //定义cache过期时间 TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0); //第一次登陆的时候插入一个用户相关的cache值, HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null); Session["ADMINID"] = TextBox1.Text; Response.Redirect("main.aspx"); } else { //重复登陆 Response.Write("<script>alert('您的账号已经登陆!');window.location='login.aspx';</script>"); }
- 上一篇:.NET中26个优化性能方法
- 下一篇:<!--[if lte IE 6]>
新闻资讯
-
2020-08-02wx.checkSession方法检查是否登录一直为success成功
-
2023-02-15img图片标签设置默认图片
-
2013-09-30IE下判断IE版本的语句...[if lte IE 6]……[endif]
-
2020-07-12无法启用iis express web服务器
-
2010-07-20将ACCESS转化成SQL2000的方法和注意事项
-
2024-06-17C#面:详细阐述什么是 DTO
相关案例
