一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - ASP.NET實現(xiàn)單點登陸(SSO)適用于多種情況

ASP.NET實現(xiàn)單點登陸(SSO)適用于多種情況

2019-12-09 12:22whsnow ASP.NET教程

這篇文章主要介紹了ASP.NET在不同情況下實現(xiàn)單點登陸(SSO)的方法,在同主域但不同子域之間實現(xiàn)單點登陸等等

第一種:同主域但不同子域之間實現(xiàn)單點登陸

Form驗證其實是基于身份cookie的驗證。客戶登陸后,生成一個包含用戶身份信息(包含一個ticket)的cookie,這個cookie的名字就是在web.config里Authentication節(jié)form設定的name信息,如

 

復制代碼代碼如下:

<authentication mode="Forms">
<forms loginUrl="login.aspx" name=".ASPXAUTH" path="/" protection="All" domain=".zuowenjun.cn"></forms>
</authentication>


這里,.ASPNETAUTH就是這個Cookie的名字。通過在Request.Cookies集合里包含這個cookie,實現(xiàn)用戶身份信息的傳遞。所以,共享身份驗證信息的思路很簡單:只要這個身份驗證cookie能在自域名中共享,F(xiàn)orm驗證信息自然可以共享!

 

代碼實現(xiàn):

  1. string userData = JsonHelper.ScriptSerialize(user); 
  2. FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, user.userid.ToString(), DateTime.Now, DateTime.Now.AddHours(4), false, userData); 
  3. HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));//加密身份信息,保存至Cookie 
  4. cookie.Domain = ".zuowenjun.cn"
  5. Response.Cookies.Add(cookie); 
 
?

第二種:虛擬目錄的主應用和子應用之間實現(xiàn)SSO

 

復制代碼代碼如下:

<authentication mode="Forms">
<forms name=".SSOAuth" protection="All" timeout="60" loginUrl="login.aspx" />
</authentication>


比較重要的兩個屬性是 name 和protection. 當 protection屬性設置為 "All",通過Hash值進行加密和驗證數(shù)據(jù)都存放在Cookie中.默認的驗證和加密使用的Key都存儲在machine.config文件,我們可以在應用程序的Web.Config文件覆蓋這些值.默認值如下:

復制代碼代碼如下:

<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey=" AutoGenerate,IsolateApps" validation="SHA1" />


IsolateApps表示為每個應用程序生成不同的Key.我們不能使用這個.為了能在多個應用程序中使用相同的Key來加密解密cookie,我們可以移除IsolateApps 選項或者更好的方法是在所有需要實現(xiàn)SSO的應用程序的Web.Config中設置一個具體的Key值:

復制代碼代碼如下:

<machineKey validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" validation="SHA1" />


第三種:不同域名下的應用程序實現(xiàn)SSO(也適上以上情況)

 

主要是采用頁面URL傳參并重定向來實現(xiàn),這類實現(xiàn)的方法有很多,但可能需要注意的是安全性問題。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久理论片 | 国产精品www | 精品国产乱码久久久久久免费 | 亚洲+欧美+国产+综合 | videos欧美肥婆 | 色亚州 | 国产区香蕉精品系列在线观看不卡 | 免费一级欧美片在线观看 | 久久精品久久久 | 亚洲成人精品久久 | 亚洲精品资源在线 | 国产精品久久久 | 久久国产免费 | sao虎在线精品永久 s0e一923春菜花在线播放 | 情人梁家辉在线 | 出水小说 | 免费港剧在线观看港剧 | 美女被视频网站看免费入口 | 精品操 | daring国家队在线观看樱花动漫 | ysl蜜桃色成人麻豆 youwu在线影院 | 423hk四虎 | 欧美日韩一区二区综合在线视频 | 九色PORNY真实丨国产大胸 | 猛男壮男受bl爽哭了高h | 国产成人精品免费午夜 | 第一次破女视频国产一级 | 天美传媒tm0087 | 午夜A级理论片左线播放 | 成年人在线观看视频 | 日本一区二区高清免费不卡 | 国产亚洲福利一区二区免费看 | 欧美老肥妇bbb | 日韩性大片免费 | 黑人巨大videosjapan高清 黑人好大 | 欧美视频在线一区 | 麻豆亚洲一区 | 青青草原国产一区二区 | 国产高清日韩 | 插鸡视频在线观看 | 偷偷狠狠的日日高清完整视频 |