妙用Cache检验用户是否重复登陆

2016-01-29 12:26 3 1 收藏

妙用Cache检验用户是否重复登陆,妙用Cache检验用户是否重复登陆

【 tulaoshi.com - ASP.NET 】

    网上看到可用Cache来判断用户是否已登陆的方法,感觉还不错。实验后,特此分享代码
  
  原理比较简单:
  判断cache中是否已存在规定的客户登陆字符串,如果没有便添加,同时指定其在cache中的保存时间。重复登陆时,便能通过判断cache值是否为空来判断用户是否重复登陆了。
  
  //生成Key
  string sKey = TextBox1.Text + "_IsLogin";
  //得到Cache中的给定Key的值
  string sUser = Convert.ToString(Cache[sKey]);
  
  //检查是否存在
  if (sUser == null || sUser == String.Empty)
  {
   //Cache中没有该Key的项目,表明用户没有登录,或者已经登录超时
   //TimeSpan 表示一个时间间隔,获取系统对session超时作的设置值
   //TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
   //(如果考虑到允许用户再次登陆的时间小于session超时时间,可将此值设小,在此示例中设置为一分钟)
   TimeSpan SessTimeOut = new TimeSpan(0, 0, 1, 0, 0);
   HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut,
   System.Web.Caching.CacheItemPriority.NotRemovable, null);
   //首次登录,您可以做您想做的工作了。
   Label1.Text = "你好!欢迎光临";
  }
  else
  {
   //在Cache中发现该用户的记录,表名已经登录过,禁止再次登录
   Label1.Text = "对不起,你已在别处登陆.或者在1分钟后重试";
   return;
  }
  
  http://www.cnblogs.com/heekui/archive/2006/12/14/591691.html

来源:https://www.tulaoshi.com/n/20160129/1486098.html

延伸阅读
标签: 电脑入门
MAC在开启的时候,登录界面上总是会有客人用户出现,如果只是自己一个人使用的MAC,就没有使用客人用户的必要了,那么怎么才能在登录界面隐藏客人用户呢? 设置方法: 在系统偏好设置--安全与隐私--通用里面把红圈处勾掉。 但是又有人说不知道在哪里找到这个选项,那么,如下图所示: 在icloud里面,把这个查找我的Mac勾掉,这...
exec sp_change_users_login 'UPDATE_ONE',没有登陆名的数据库用户,'新的登陆名' go 原因: SQL备份的问题有一台SQL SERVER 服务器,将其中的数据库DataBase1备份成一个文件,在另外一台SQL SERVER服务器上还原,数据表和存储过程等恢复没有问题,但某些用户自定义的用户(这些自定义用户在原数据库...
在Oracle 8i版本之前,使用internal用户来执行数据库的启动和关闭以及create database等操作;从8i版本以后,Oracle已经逐渐淘汰了internal用户,采用授与sysdba或者sysoper角色的用户才可以执行数据库的启动和关闭等操作,为保持用户习惯在8i中依旧保留了internal用户和svrmgrl,但已完全可以不使用svrmgrl工具和internal用户了。最新发布...
支付宝怎么设置登陆设备重新登陆?   如果您担心自己的支付宝账户安全的话,您可以采取一些措施让登陆设备上的支付宝软件重新登陆,这样在登陆的时间内,可以尽量保证资金的安全,那么手机支付宝如何设置登陆设备重新登陆呢? 1、下载新版的支付宝,因为新版的较旧版的功能更多,旧版可能会存在没有的功能,下载完成之后打开手...
关于重新登陆! 1:在Global中的设置。   //添加Init,并且添加AcquireRequestState事件;   public void Init(HttpApplication application)   {    application.AcquireRequestState +=new EventHandler(application_AcquireRequestState);      }   //实现AcquireRequestState,在每次客户端...

经验教程

61

收藏

52
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部