【问题标题】:Silverlight WebContext is shared between mutipale sessionsSilverlight WebContext 在多个会话之间共享
【发布时间】:2013-07-23 06:05:57
【问题描述】:

我有一个 silverlight Ria 应用程序。我使用 WebContext 来制作身份验证人员。 我在 App.cs 构造函数中有这些行(它已经与 silverlight 业务模板一起提供): 初始化组件();

WebContext webContext = new WebContext();
webContext.Authentication = new FormsWithTimeoutAuthentication(20);

this.ApplicationLifetimeObjects.Add(webContext);

我遇到一个问题,当我在一个浏览器选项卡中打开应用程序时,一切正常,我尝试打开另一个选项卡并使用不同的用户登录它会影响第一个选项卡中的应用程序。 我跟踪了 WebContext 哈希码并得到了同样的结果。所以 WebContext 似乎在两个应用程序实例上共享。

你知道为什么会这样吗? 在此先感谢...

【问题讨论】:

    标签: silverlight silverlight-4.0 wcf-ria-services ria


    【解决方案1】:

    Silverlight 使用浏览器的 http 堆栈进行身份验证。当您使用表单身份验证时,浏览器 cookie 会发送到浏览器,它会识别您当前浏览器会话的经过身份验证的用户。所有浏览器选项卡共享相同的 cookie,因此所有选项卡都被标识为同一用户。

    为避免此问题,您应在 Internet Explorer 上使用“无痕浏览”,或在 Google Chrome 上使用“隐身浏览”。

    【讨论】:

    • 感谢分配。我可以自动制作吗,我想让我的应用程序通过隐私浏览运行,这样用户就不必自己制作了。
    • 除了私密浏览,您还可以使用“文件”“新建会话”。真正的问题在于 FormsAuthentication,任何 ASP.net 应用程序都会遇到这个问题,而不是 Silverlight。
    • 谢谢。我使用客户端网络堆栈找到了问题的解决方案。你可以在这里找到解决它的文章blogs.msdn.com/b/kylemc/archive/2010/05/14/…
    猜你喜欢
    • 1970-01-01
    • 2017-04-08
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2013-06-20
    相关资源
    最近更新 更多