本文實(shí)例講述了asp.net簡(jiǎn)單實(shí)現(xiàn)單點(diǎn)登錄(SSO)的方法。分享給大家供大家參考,具體如下:
單點(diǎn)登錄(Single Sign On , 簡(jiǎn)稱 SSO )是目前比較流行的服務(wù)于企業(yè)業(yè)務(wù)整合的解決方案之一, SSO 使得在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)
CAS(Central Authentication Service)是一款不錯(cuò)的針對(duì) Web 應(yīng)用的單點(diǎn)登錄框架(耶魯大學(xué)開(kāi)發(fā))主要用于Java Php 有興趣大家可以研究下..
下面是一個(gè)簡(jiǎn)單實(shí)現(xiàn)單點(diǎn)登錄的方法:
public void SingleUserLogin(string userName){
//定義鍵值
string key=userName;
string value=Convert.ToString(Cache[key]);
if(value==null||value==string.Empty){
//定義Cache過(guò)期時(shí)間
TimeSpan span=new TimeSpan(0,0,HttpContext.Current.Session.Timeout,0,0);
//第一次登陸的時(shí)候插入一個(gè)用戶相關(guān)的cache值,
HttpContext.Current.Cache.Insert(key,key,null,DateTime.MaxValue,span,System.Web.Caching.CacheItemPriority.NotRemovable,null);
Session["userName"]=userName;
Response.Redirect("Main.aspx");
}
else if(Cache[key].ToString()==key){
//重復(fù)登陸
Response.Write("mce:script type="text/javascript">!--
alert('您的賬號(hào)已經(jīng)登陸!');window.location='login.aspx';
// -->/mce:script>");
}
else{
//取消當(dāng)前的session會(huì)話
Session.Abandon();
}
}
在Web Config 配置 窗體模式
authentication mode="Forms">//mode值是Forms為定義成窗體驗(yàn)證
forms loginUrl="Mananger/Login.aspx" name=".ASPXAUTH">//用戶未登陸就先訪問(wèn)Mananger/Login.aspx頁(yè)面
/forms>
/authentication>
authorization>
deny users="?"/>
/authorization>
希望本文所述對(duì)大家asp.net程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- SSO單點(diǎn)登錄的PHP實(shí)現(xiàn)方法(Laravel框架)
- php的sso單點(diǎn)登錄實(shí)現(xiàn)方法
- PHP中SSO Cookie登錄分析和實(shí)現(xiàn)
- 基于.Net的單點(diǎn)登錄(SSO)實(shí)現(xiàn)解決方案
- php版微信自動(dòng)登錄并獲取昵稱的方法
- php實(shí)現(xiàn)登錄tplink WR882N獲取IP和重啟的方法
- php實(shí)現(xiàn)的SSO單點(diǎn)登錄系統(tǒng)接入功能示例分析