当前位置:  编程技术>.net/c#/asp.net

c#防止同一账号重复登录(cache方法)

    来源: 互联网  发布时间:2014-08-30

    本文导语:  本文为大家介绍如何利用缓存Cache方便地实现此功能。  Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户; 而Session是一个用户会话对象,是局部对象,用于保存...

本文为大家介绍如何利用缓存Cache方便地实现此功能。 

Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户;
而Session是一个用户会话对象,是局部对象,用于保存单个用户的信息。 

只要把每次用户登录后的用户信息存储在Cache中,把Cache的Key名设为用户的登录名,Cache的过期时间设置为Session的超时时间,在用户每次登录的时候去判断一下Cache[用户名]是否有值,如果没有值,证明该用户没有登录,否则该用户已登录。

为大家举一个例子吧。
 

代码示例:

private void Button1_Click(object sender, System.EventArgs e)
{
      string strUser=string.Empty; 
      string strCacheKey = this.TextBox1.Text; 

     strUser = Convert.ToString(Cache[strCacheKey]);

     if(strUser == string.Empty) 
     {
         TimeSpan SessTimeOut = new TimeSpan(0,0,System.Web.HttpContext.Current.Session.Timeout,0,0);

         Cache.Insert(strCacheKey,strCacheKey,null,DateTime.MaxValue,SessTimeOut,CacheItemPriority.NotRemovable,null);
         Session["User"] = strCacheKey; 
         this.Label1.Text = Session["User"].ToString(); 
    }
     else
  {
     this.Label1.Text = "这个用户已经登录!";
 }
}

大家可以把上面代码用在自己的程序中,检测一下,有效防止同一账号的重复登录。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • PHP登录环节防止sql注入的方法浅析
  • ASP.NET会员注册登录模块(MD5加密,防止SQL注入,判断是否注册)
  • 请问socket编程中是如何防止别人恶意进行数据包复制?
  • 程序中如何防止文件操作冲突?
  • sqlserver中如何防止数据库被下载
  • Asp.net防止重复提交的实现方法
  • 防止反编译的功能
  • 如何防止没有权限的人由于知道url,直接输入url,来察看文件呢?
  • 如何防止JtextArea里的文字被用户选择并copy???
  • 如何防止用户更新页面刷新计数器!
  • 怎样防止非本域的form提交
  • 请问Apache怎样防止CC攻击?
  • MySQL防止delete命令删除数据的两种方法
  • 请教怎么让计数器防止刷新???
  • 关于qmail里smtp,pop3,vpopmail对防止垃圾邮件relay的问题
  • 如何在一个用户对application操作时防止别的用户对它操作?(好难啊)
  • jquery防止重复执行动画避免页面混乱
  • 如何防止按浏览器右上角的"x" 来关闭浏览器
  • 如何防止IE缓存jsp文件
  • 如何防止Tomcat缓存beans??
  • 请问:如何防止他人进入系统操作(急!)
  • 如果防止JDialog被改变大小


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3