好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識(shí)庫 > 如何在不同.net版本實(shí)現(xiàn)單點(diǎn)登錄

如何在不同.net版本實(shí)現(xiàn)單點(diǎn)登錄

熱門標(biāo)簽:鄭州400電話辦理 聯(lián)通 地圖標(biāo)注和認(rèn)領(lǐng) 智能電話營銷外呼系統(tǒng) 電銷語音自動(dòng)機(jī)器人 五常地圖標(biāo)注 凱立德導(dǎo)航官網(wǎng)地圖標(biāo)注 長春呼叫中心外呼系統(tǒng)哪家好 萊蕪?fù)夂綦婁N機(jī)器人價(jià)格 戶外地圖標(biāo)注軟件手機(jī)哪個(gè)好用

所謂單點(diǎn)登錄(Single Sign On就是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。其實(shí)對(duì)于程序員在技術(shù)上要實(shí)現(xiàn)就得就是多個(gè)不同域名間共享cookie的問題。

最近在為ERP添加一個(gè)部署在另一臺(tái)機(jī)器上,鏈接到原有老系統(tǒng)中的子項(xiàng)目,調(diào)用原有老項(xiàng)目中的Login實(shí)現(xiàn)單點(diǎn)登錄,嘗試了N次屢試不成,最后確定問題,是,.net2.0與4.0中對(duì)cookie的加密/解密方法由此差異,于是經(jīng)過研究,重寫實(shí)現(xiàn)了一個(gè)可以在不同.net版本中實(shí)現(xiàn)單點(diǎn)登錄的簡(jiǎn)單方法。

1,共用登陸頁代碼實(shí)現(xiàn):

復(fù)制代碼 代碼如下:

protected void btnLogin_Click(object sender, EventArgs e)
{
  //認(rèn)證開票,跳轉(zhuǎn)到原始請(qǐng)求頁面
   System.Web.Security.FormsAuthentication.RedirectFromLoginPage("ejiyuan", false);
}

2,配置文件:
復(fù)制代碼 代碼如下:

!--訪問權(quán)限控制-->
authorization>
    deny users="?"/>
/authorization>   
!--身份認(rèn)證方式-->
authentication mode="Forms">
    forms name=".ASPNET" protection="All" enableCrossAppRedirects="true" loginUrl="Login.aspx" timeout="2880" path="/" domain=".local.com"/>
/authentication>  
!--驗(yàn)證算法-->
machineKey validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" validation="SHA1" decryption="3DES" /> compilation debug="true"/>

這里:authentication/forms節(jié)點(diǎn)最重要的兩個(gè)屬性是name和protection. 所有實(shí)現(xiàn)單點(diǎn)登錄的項(xiàng)目都要是相同的配置就這樣,才可以在不同程序中同樣的保護(hù)級(jí)別下讀寫Cookie
當(dāng) protection屬性設(shè)置為 "All",通過Hash值進(jìn)行加密和驗(yàn)證數(shù)據(jù)都存放在Cookie中.默認(rèn)的驗(yàn)證和加密使用的Key都存儲(chǔ)在machine.config文件,我們可以在應(yīng)用程序的Web.Config文件覆蓋這些值.默認(rèn)值如下:

machineKeyvalidationKey="AutoGenerate,IsolateApps"decryptionKey=" AutoGenerate,IsolateApps"validation="SHA1" />

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

machineKey validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" validation="SHA1" decryption="3DES" /> compilation debug="true"/>

如果你使用同樣的存儲(chǔ)方式,實(shí)現(xiàn)SSO只是改動(dòng)一下Web.config而已,必須保證單點(diǎn)中的每個(gè)應(yīng)用程序都有相同的配置,如果單點(diǎn)登錄的應(yīng)用程序是跨不同.net版本的,這里的加密/解密不要使用md5

machineKey decryptionKey="8B6697227CBCA902B1A0925D00FAA00B353F2DF4359D2099" validation="MD5" validationKey="282487E295028E59B8F411ACB689CCD6F39DDD2146055A3EE480424315994760ADF21B580D8587DB675FA02F7916813044E25309CCCDB647174D5B3D0DD9141"/>

3,沒有登錄頁的單點(diǎn)登錄不需要代碼 直接配置就可以了,配置如下

復(fù)制代碼 代碼如下:

authorization>
  deny users="?"/>
/authorization>
authentication mode="Forms">
    forms name=".ASPNET" protection="All" enableCrossAppRedirects="true" loginUrl="http://Sso2.local.com/Login.aspx" timeout="2880" path="/" domain=".local.com"/>
/authentication>

4,登錄模塊從定向代碼封裝在httpModules中供其他系統(tǒng)直接調(diào)用,這里附上封裝代碼與引用方法:
復(fù)制代碼 代碼如下:

public class SsoLoginRedirectModule : IHttpModule
{
    public void Init(HttpApplication i_application)
    {
        // TODO:  Add UploadModule.Init implementation   
        i_application.EndRequest += new EventHandler(i_application_EndRequest);
    }

    void i_application_EndRequest(object sender, EventArgs e)
    {
        if ((HttpContext.Current.Response.StatusCode == 302) HttpContext.Current.Response.RedirectLocation.Contains(FormsAuthentication.LoginUrl))
        {
            HttpContext.Current.Response.RedirectLocation = FormsAuthentication.LoginUrl + "?ReturnUrl=" + HttpUtility.UrlEncode(HttpContext.Current.Request.Url.OriginalString);
        }
    }

    public void Dispose()
    {
        //throw new NotImplementedException();
    }
}


引用: 
復(fù)制代碼 代碼如下:

httpModules>
    add name="SsoModule" type="SsoModule.SsoLoginRedirectModule, SsoModule"/>
/httpModules>

您可能感興趣的文章:
  • asp.net簡(jiǎn)單實(shí)現(xiàn)單點(diǎn)登錄(SSO)的方法
  • .NET 單點(diǎn)登錄解決方案
  • 基于.Net的單點(diǎn)登錄(SSO)實(shí)現(xiàn)解決方案
  • 一個(gè)簡(jiǎn)單的asp.net 單點(diǎn)登錄實(shí)現(xiàn)
  • 在ASP.NET 中實(shí)現(xiàn)單點(diǎn)登錄
  • .net core 1.0 實(shí)現(xiàn)單點(diǎn)登錄負(fù)載多服務(wù)器

標(biāo)簽:福州 湖州 宣城 衢州 紅河 西藏 岳陽 西寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何在不同.net版本實(shí)現(xiàn)單點(diǎn)登錄》,本文關(guān)鍵詞  如,何在,不同,.net,版本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何在不同.net版本實(shí)現(xiàn)單點(diǎn)登錄》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何在不同.net版本實(shí)現(xiàn)單點(diǎn)登錄的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 撕开丝袜美腿麻麻扛肩上| 好爽.…要高潮了?深点快小说| 无码免费一区二区三区| 人妻深田咏美JUL-144| 朝鲜一级婬片A片AAA播放| 性欧美video另类vr| chinesexxxx乱china| 无码国产成人午夜电影在99| 瓜棚老汉破二处h文| 朝鲜女**又多又黑毛片全免播放| 成人在色线视频在线观看免费社区| 久久精品一区二区三区四区| gogo人体大胆色妇| 被一根又一根H强迫NP| 日本无码一级A片毛片| 脔仙h| 亚洲精品一区二区二区的游戏情况| 免费的视频app网站入口 | 日本乱理伦片在线观看一级| 又黄又爽又高潮视频网站| 一边揉胸一边摸下边的视频| 看了下面会流水的视频| 91无码麻豆人妻精品1国产软件| 欧美一级搡BBBB搡BBBB| 亚洲精品免费网站| 白丝美女啪啪| 8x国产在线观看| 51无码人妻精品1国产探花| 人与性动交ⅩXXXB女在| 欧美日韩视频在线成人| 冲田杏梨av爆乳一区二区三区 | 嗯啊不要太大了| 18freexxxxmovieshd18pics| 双性污文| 亚洲欧美国产毛片在线| 9966国产精品视频| 欧美一级免费在线观看| 国产凹凸久久精品一区| 双穴拯救| 国产亚洲k频道网址导航入口| 久久一本岛在免费线观看2020|