[小记]简单单点登录

单点登录,又叫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("用户名不存在!");
	}
}
原文地址:https://www.cnblogs.com/cancer_xu/p/1953126.html