0

我有一个 silverlight 4 应用程序,其中包含一个 iframe 来显示 aspx 页面。silverlight 应用程序和 iframe 中的应用程序都托管在同一个 Web 服务器中。

首先,有两个 login.aspx 页面。一个在 silverlight 应用程序中,另一个在另一个嵌入 iframe 的站点中。我的 silverlight 应用程序将首先加载并成功登录 silverlight 应用程序。

然后,在我的 silverlight 应用程序中,有一个链接按钮可以将 aspx 页面加载到 iframe 中。

当我第一次访问 iframe 中的 aspx 页面时,它会转到它的 login.aspx 并成功登录。之后,我回到 silverlight 应用程序,我立即收到 http 302 错误。但是我访问aspx页面和silvelight应用程序之间的持续时间,不大于会话超时的时间。

那么任何人都能够弄清楚是什么导致了错误?

PS 只有在aspx页面登录成功后才会出现。如果我不触摸 iframe 中的 aspx 页面,只访问 silverlight 页面,它不会出错。

4

1 回答 1

0

今天找到了根本原因并解决了。这是由于两个应用程序被放置在同一台机器上。然后,第二次登录将覆盖第一次登录的身份验证 cookie。(这意味着调用第二个的 FormsAuthentication.SetAuthCookie() 将覆盖第一个。)所以解决方案非常简单。只是为了使他们的身份验证cookie名称不同:

`

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

`

于 2013-04-24T13:43:30.977 回答