asp.net 簡單單點(diǎn)登錄技術(shù)分析
更新時間:2011年02月14日 21:58:05 作者:
單點(diǎn)登錄,又叫SSO(Single Sign On)。在一些cms或者OA中比較常用到這種登錄模式,目的是為防止重復(fù)登錄。而其實(shí)現(xiàn)原理也頗為簡單,只要Cache的形式就可以實(shí)現(xiàn),這里只用于簡單記錄下,呵呵……
代碼如下:
///單點(diǎn)登錄(Single Sign On)
public void SSOMethods(string username, string password)
{
//判斷登錄情況 此處方法省略……
int result = CheckLogin(username, password);
if(result>0)
{
//唯一標(biāo)識,可自行設(shè)定
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>抱歉,您已經(jīng)在其他地方登錄了!</font>");
return;
}
}
else
{
Response.Write("用戶名不存在!");
}
}
復(fù)制代碼 代碼如下:
///單點(diǎn)登錄(Single Sign On)
public void SSOMethods(string username, string password)
{
//判斷登錄情況 此處方法省略……
int result = CheckLogin(username, password);
if(result>0)
{
//唯一標(biāo)識,可自行設(shè)定
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>抱歉,您已經(jīng)在其他地方登錄了!</font>");
return;
}
}
else
{
Response.Write("用戶名不存在!");
}
}
相關(guān)文章
asp.net下通過泛解析和偽靜態(tài)實(shí)現(xiàn)二級域名的實(shí)現(xiàn)方法
當(dāng)我們想做一個站群或想為每一個會員的主頁設(shè)置為一個二級域名時,總是想拼命的去找些組件來實(shí)現(xiàn)。2010-10-10.Net中的Junction Points(交接點(diǎn))操作
這篇文章介紹了.Net中的Junction Points(交接點(diǎn))操作,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06詳解.net core下如何簡單構(gòu)建高可用服務(wù)集群
一說到集群服務(wù)相信對普通開發(fā)者來說肯定想到很復(fù)雜的事情,這篇文章主要介紹了詳解.net core下如何簡單構(gòu)建高可用服務(wù)集群,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01ASP.NET 前臺javascript與后臺代碼調(diào)用
ASP.NET中前臺javascript與后臺代碼調(diào)用的實(shí)現(xiàn)代碼說明。2009-08-08Entity Framework Core延遲加載(懶加載)用法
這篇文章介紹了Entity Framework Core延遲加載(懶加載)的使用方式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02ASP.NET 定制簡單的錯誤處理頁面實(shí)現(xiàn)代碼
通常web應(yīng)用程序在發(fā)布后,為了給用戶一個友好界面和使用體驗(yàn),都會在錯誤發(fā)生時跳轉(zhuǎn)至一個自定義的錯誤頁面,而不是asp.net向用戶暴露出來的詳細(xì)的異常列表。2010-01-01Linux安裝.Net core 環(huán)境并運(yùn)行項(xiàng)目的方法
這篇文章主要介紹了Linux安裝.Net core 環(huán)境并運(yùn)行項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08