2011-08-24 81 views
2

此問題對於大多數人來說可能很奇怪,但這是一個非常簡單的問題。我有越來越多的應用程序需要有SSO解決方案。我們成功地使用machinekey做了所有事情,但現在需要創建一箇中央登錄應用程序(基本上是登錄表單和密碼檢索框),這是登錄頁面,用戶嘗試輸入其中一個應用程序而無需首先進行身份驗證。單點登錄(SSO)適用於具有一個登錄應用程序的asp.net 4.0應用程序

的問題是,如果我把在應用程序的web.config中的絕對loginurl(例如,而不是〜/ login.aspx的我把http://login.myapp.com/的),我成功地重定向,但傳遞RETURNURL不是絕對的,而是相對的,所以我無法回到「調用」應用程序。

任何想法如何解決這個問題?

感謝, 馬爾科

+0

我們不得不看到正在執行重定向開始解決它的代碼。 –

+0

Hi @Chris。下面是兩個應用程序的web.config中: 登錄應用WEB.CONFIG '<認證模式= 「表單」> <形式loginUrl = 「Default.aspx的」 enableCrossAppRedirects = 「真」 名稱=」 ASPXFORMSAUTH 「 路徑=」/ 「 域=」。mydomain.me」 超時= 「30」/> ' 應用WEB.CONFIG '<認證模式= 「表單」> <形式loginUrl =「http://login.mydomain.me/」 enableCrossAppRedirects =「true」 name =「。ASPXFORMSAUTH」 path = 「/」 domain =「。mydomain.me」 timeout =「30」/> ' – Marconline

回答

0

在你的web.config嘗試設置enableCrossAppRedirects屬性爲true;

<configuration> 
    <system.web> 
     <authentication mode="Forms"> 
      <forms .... enableCrossAppRedirects = "true" ....> 
      </forms> 
     </authentication> 
    </system.web> 
</configuration> 

這不打開你不過重定向攻擊......

+0

嗨@blowdart並感謝您的回覆。我已經嘗試使用enableCrossAppRedirects,但似乎沒有改變。 ReturnUrl總是相同的(相對的,不是絕對的)。 – Marconline