码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET单点登录(代码)

时间:2014-12-02 14:52:22      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:http   io   ar   os   sp   on   数据   art   bs   

[p=25, null, left]由于某些原因,在我们的应用中会遇到一个用户只能在一个地方登录的情况,也就是我们通常所说的单点登录。在ASP.NET中实现单点登录其实很简单,下面就把主要的方法和全部代码进行分析。[/p][p=25, null, left]实现思路[/p][p=25, null, left]利用Cache的功能,我们把用户的登录信息保存在Cache中,并设置过期时间为Session失效的时间,因此,一旦Session失效,我们的Cache也过期;而Cache对所有的用户都可以访问,因此,用它保存用户信息比数据库来得方便。[/p]
[p=25, null, left]string sKey = username.Text.ToString().Trim(); // 得到Cache中的给定Key的值

            string sUser = Convert.ToString(Cache[sKey]); // 检查是否存在

            if (sUser == null || sUser == String.Empty)

            {

                

                TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);//取得Session的过期时间

                HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut, System.Web.Caching.CacheItemPriority.NotRemovable, null);//将值放入cache己方便单点登录

              //成功登录

            }

            else if (Cache[sKey].ToString() == sKey)//如果这个账号已经登录

            {

                ClientScript.RegisterStartupScript(GetType(), "提示", "<script>alert(‘对不起,当前用户已经登录‘);</script>");

                return;

            }

            else

            {

                Session.Abandon();//这段主要是为了避免不必要的错误导致不能登录

            }

 

ASP.NET单点登录(代码)

标签:http   io   ar   os   sp   on   数据   art   bs   

原文地址:http://www.cnblogs.com/taofx/p/4137237.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!