簡體   English   中英

ASP.NET Forms身份驗證-Chrome和Firefox上的單點登錄問題

[英]ASP.NET Forms authentication - Issue with single sign-on on Chrome and Firefox

我們在同一域(兩個不同的虛擬目錄)上有兩個ASP.NET v4.0網站,我們計划在它們之間使用表單身份驗證單點登錄。

為了支持使用表單身份驗證的單點登錄,我們在兩個網站的web.config中對表單身份驗證和機器密鑰使用了相同的設置(如下所示)。

<authentication mode="Forms">
<forms loginUrl="Login.aspx" slidingExpiration="true" timeout="28800" defaultUrl="Default.aspx" name=".MYAUTH"/>
</authentication>


<machineKey validationKey="xxxx" decryptionKey="yyy" validation="SHA1"/>

單一登錄可以在所有瀏覽器的本地和QA環境中使用,也可以在登台服務器上的IE 9/10上運行,但由於某些奇怪的原因,僅在登台服務器上的Firefox(v25)和Chrome(v31)上無法使用。 登錄到第一個網站后,將用戶重定向到第二個網站后,表單身份驗證cookie始終為空,用戶必須重新登錄。

我嘗試了所有建議的解決方案(例如在兩個web.config中為表單身份驗證節點設置相同的路徑和域名等),但是它們都無濟於事。

我的登台服務器類似於“ ab-cd-ef.my.company.com”(請注意服務器名稱中的多個句點和連字符)。 與服務器名稱有關嗎? 我嘗試了以下組合(無用):

  1. <forms loginUrl="Login.aspx" slidingExpiration="true" timeout="28800" defaultUrl="Default.aspx" name=".MYAUTH" domain=".my.company.com"/>

  2. <forms loginUrl="Login.aspx" slidingExpiration="true" timeout="28800" defaultUrl="Default.aspx" name=".MYAUTH" domain=".company.com"/>

  3. <forms loginUrl="Login.aspx" slidingExpiration="true" timeout="28800" defaultUrl="Default.aspx" name=".MYAUTH" domain="ab-cd-ef.my.company.com"/>

這種想法現在正在殺死我。 任何幫助將不勝感激。

看起來很奇怪,重新啟動服務器后此問題已解決。

現在,它無需在web.config的表單身份驗證設置中指定域即可工作(因為兩個網站都位於具有不同虛擬目錄的同一服務器/域上)。

違反任何邏輯。 我希望它可以幫助某人撓頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM