[小记]简单单点登录
单点登录,又叫SSO(Single Sign On)。
在一些cms或者OA中比较常用到这种登录模式,目的是为防止重复登录。
而其实现原理也颇为简单,只要Cache的形式就可以实现,这里只用于简单记录下,呵呵……
代码如下:
///单点登录(Single Sign On) public void SSOMethods(string username, string password) { //判断登录情况 此处方法省略…… int result = CheckLogin(username, password); if(result>0) { //唯一标识,可自行设定 string key = string.Format("{0}_{1}",username, password); //得到Cache中的key值 string userCache = Cache[key].ToString(); //判断是否为空 if(string.IsNullOrEmpty(userCache)) { TimeSpan SessionTimeOut = new TimeSpan(0,0,HttpContext.Current.Session.TimeOut,0,0); HttpContext.Current.Cache.Insert(key,key,null,DateTime.MaxValue,SessionTimeOut,CacheItemPriority,NotRemovable,null); Session["User"] = key; Response.Write("<font color=red>登录成功!</font>"); } else { Repsonse.Write("<font color=red>抱歉,您已经在其他地方登录了!</font>"); return; } } else { Response.Write("用户名不存在!"); } }