asp.net 简单单点登录技术分析
更新时间:2011年02月14日 21:58:05 作者:
单点登录,又叫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("用户名不存在!");
}
}
复制代码 代码如下:
///单点登录(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("用户名不存在!");
}
}
相关文章
国产化之Arm64 CPU+银河麒麟系统安装.NetCore的步骤详解
这篇文章主要介绍了国产化之Arm64 CPU+银河麒麟系统安装.NetCore,这里就以ARM架构举例,其它CPU平台的安装过程都一样,要下载的包不同而已,感兴趣的朋友跟随小编一起看看吧2022-03-03
Community Server专题三:HttpModule
Community Server专题三:HttpModule...2007-03-03
Coolite Cool Study 1 在Grid中用ComboBox 来编辑数据
作为Coolite的第一个教程,我想展现给大家能够体现Coolite强大的例子(当然也比官方例子稍微复杂一点)。2009-05-05


最新评论