• 利用Cache功能实现站点单点登录 防重复登录


        //实现思路 
        //利用Cache的功能,把用户的登录信息保存在Cache中,并设置过期时间为Session失效的时间,因此,一旦Session失效,Cache也过期;而Cache对所有的用户都可以访问,因此,用它保存用户信息比数据库来得方便。 
        //代码如下 :
        public void btnSubmit_Click(object sender, System.EventArgs e)//页面登陆提交按钮
        {
            if (Page.IsValid == true)
            {
                if (IsLogin(Name, RealName))
                    Response.Redirect("css/error.aspx?" + "&ErrorMessage=" + "用户已经登录,请重新输入!");
            }
        }
    
        /// <summary>
        /// 实现单点登录
        /// </summary>
        /// <param name="UserCode"> 用户代码 </param>
        /// <param name="UserName"> 用户名称 </param>
        /// <returns> true 已经登录/ false 未登录 </returns>
        private bool IsLogin(string UserCode, string UserName)
        {
            string ExistsUser = Convert.ToString(Cache[UserCode]);
            if (ExistsUser == null || ExistsUser == String.Empty)
            {
                TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
                HttpContext.Current.Cache.Insert(UserCode, UserName, null, DateTime.MaxValue, SessTimeOut,
                                                 System.Web.Caching.CacheItemPriority.NotRemovable, null);
                return false;
            }
            else
            {
                return true;
            }
        }

  • 相关阅读:
    计算几何
    HDU 4267
    HDU 4277
    NYOJ 123(插线问点)
    Set
    HDU 1792
    从文本文件读取数据到用vector实现的二维数组中
    为什么计算机采用二进制而不是八进制或者十六进制
    Google C++编程风格指南1
    编程中的命名设计
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234394.html
Copyright © 2020-2023  润新知