2011-03-21 74 views
1

我有設計2 Web應用程序和使用形式Authetication對跨應用程序的表單認證重定向

的Web單點登錄:包含Login.aspx

幅B:包含一個OK.aspx

時在網絡B中訪問Ok.aspx,它將重定向到網絡A中的Login.aspx(它工作正常)

但問題是當我成功登錄時,我無法重定向到Ok.aspx在幅面B

FormsAuthentication.RedirectFromLoginPage(username,false); 

它試圖重定向到Ok.aspx在網上一個不幅面B

<authentication>部分:

網絡答:

<authentication mode="Forms"> 
    <forms name="appNameAuth" 
      path="/" 
      loginUrl="login.aspx" 
      protection="All" 
      timeout="30" 
      enableCrossAppRedirects="true"> 
    </forms> 
</authentication> 

幅B:

<authentication mode="Forms"> 
    <forms name="appNameAuth" 
      path="/" 
      loginUrl="webAdomain/login.aspx" 
      protection="All" 
      timeout="30" 
      enableCrossAppRedirects="true" > 
    </forms> 
</authentication> 

任何建議?

+0

你可以張貼'<認證>'部分列出了應用程序? – Alex 2011-03-21 15:55:26

+0

Web A: trbaphong 2011-03-21 16:10:18

+0

Web B: trbaphong 2011-03-21 16:11:28

回答

0

您可以通過在每個應用程序的web.config文件中設置machineKey值來使其工作,以使它們匹配。

'match',我的意思是,從每個web.config中刪除IsolateApps設置(因爲這樣做會完全按照它所說的做,而這對於你要做的事很糟糕)。

接下來,你需要生成的decryptionKey和validationKey的(符合你選擇的類型...... SHA1,等等,價值觀)的新值,並將其複製到每個web.configs的

瞧!一切都應該工作

這裏是對的machineKey設置一個微軟的文章的鏈接,以供參考:http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx