本文實(shí)例講述了asp.net簡單實(shí)現(xiàn)單點(diǎn)登錄(SSO)的方法。分享給大家供大家參考,具體如下:
單點(diǎn)登錄(Single Sign On , 簡稱 SSO )是目前比較流行的服務(wù)于企業(yè)業(yè)務(wù)整合的解決方案之一, SSO 使得在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)
CAS(Central Authentication Service)是一款不錯(cuò)的針對(duì) Web 應(yīng)用的單點(diǎn)登錄框架(耶魯大學(xué)開發(fā))主要用于Java Php 有興趣大家可以研究下..
下面是一個(gè)簡單實(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過期時(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">//用戶未登陸就先訪問Mananger/Login.aspx頁面 </forms></authentication><authorization> <deny users="?"/></authorization>
希望本文所述對(duì)大家asp.net程序設(shè)計(jì)有所幫助。



















