0

aspx ページを表示する iframe を 1 つ含む Silverlight 4 アプリケーションが 1 つあります。Silverlight アプリと iframe 内のアプリケーションは、どちらも同じ Web サーバーでホストされています。

まず、2 つの login.aspx ページがあります。1 つは Silverlight アプリにあり、もう 1 つは iframe に埋め込まれた別のサイトにあります。Silverlight アプリが最初に読み込まれ、Silverlight アプリに正常にログインします。

次に、Silverlight アプリには、aspx ページを iframe に読み込むためのリンク ボタンが 1 つあります。

最初の時点で iframe の aspx ページにアクセスすると、login.aspx に移動して正常にログインします。その後、Silverlight アプリに戻ると、すぐに http 302 エラーが発生します。しかし、私がaspxページにアクセスしてからsilvelightアプリにアクセスするまでの時間は、セッションタイムアウトの時間よりも大きくありません。

では、誰がエラーの原因を突き止めることができるでしょうか?

PS aspxページが正常にログインした後にのみ発生します。iframe で aspx ページに触れず、Silverlight ページにアクセスするだけであれば、エラーは発生しません。

4

1 に答える 1

0

今日、根本的な原因を見つけて解決しました。これは、2 つのアプリケーションが同じマシンに配置されているためです。その後、2 回目のログインで、最初のログインの認証 Cookie が上書きされます。(sencond の FormsAuthentication.SetAuthCookie() を呼び出すと、最初のものは上書きされます。)したがって、解決策は非常に簡単です。認証 Cookie 名を異なるものにするためだけに:

`

 <authentication mode="Forms">
   <forms name=".SecondAuthCookie" loginUrl="login.aspx"
    defaultUrl="default.aspx" />
</authentication>

`

于 2013-04-24T13:43:30.977 に答える