2

2 つの Web アプリを設計しており、シングル サインオンにフォーム認証を使用しています。

Web A:Login.aspxページを含む

Web B:OK.aspxページを含む

Web BにアクセスOk.aspxすると、Web AにリダイレクトさLogin.aspxれます(うまく機能します)

Ok.aspxしかし、問題は、正常にログオンしたときに、Web B にリダイレクトできないことです。

FormsAuthentication.RedirectFromLoginPage(username,false);

Ok.aspxWeb BではなくWeb Aにリダイレクトしようとします

私の<authentication>セクション:

ウェブ A:

<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>

なにか提案を?

4

1 に答える 1

1

アプリケーションの各 web.config ファイルで machineKey の値が一致するように設定することで、これを機能させることができます。

「一致」とは、つまり、各 web.config から IsolateApps 設定を削除することを意味します (これは、まさにそれが示すことを実行し、それはあなたがやろうとしていることにとって悪いことです)。

次に、decryptionKey と validationKey の新しい値 (選択したタイプに一致する値...SHA1 など) を生成し、それらを各 web.configs にコピーする必要があります。

出来上がり!すべてがうまくいくはずです

参考までに、machineKey 設定に関する Microsoft の記事へのリンクを次に示します

于 2011-07-26T00:59:47.147 に答える