当前用户被 ria 服务身份验证覆盖

发布于 2024-10-30 02:59:39 字数 742 浏览 3 评论 0原文

我有一个 SL 4 应用程序,带有用于身份验证的 RIA 服务(表单 + IE9)。考虑以下场景,

  • 用户 A 登录系统,
  • 现在用户 B 也执行相同操作,
  • 用户 A 执行某些操作,并且 System.Web.HttpContext.Current.User 内部似乎隐藏了用户 B 的凭据,其中这是一场灾难

这是我的 web.config 的一部分 <身份验证模式=“表单”> <表单名称=“MY_COOKIE_NAME”超时=“180”/>

以及负责登录的代码部分

public AuthenticationUser Login(string userName, string password, bool isPersistent, string customData)
    { 
        var retUser = new DefaultUser();
        if (/*check credentials*/)
        {
            FormsAuthentication.SetAuthCookie(userName, true);
            retUser = CreateAuthenticatedUserData(userName);

        }
        return retUser;
    }

I have a SL 4 applicaiton with RIA service for authentication(Forms + IE9). Consider following scenario

  • user A logs into the system,
  • now user B does the same,
  • user A performs some operation and it appears that inside System.Web.HttpContext.Current.User are hidden credentials for user B which is a catastrophy

Here's part of my web.config
<authentication mode="Forms" >
<forms name="MY_COOKIE_NAME" timeout="180"/>
</authentication>

and code part responsible for login

public AuthenticationUser Login(string userName, string password, bool isPersistent, string customData)
    { 
        var retUser = new DefaultUser();
        if (/*check credentials*/)
        {
            FormsAuthentication.SetAuthCookie(userName, true);
            retUser = CreateAuthenticatedUserData(userName);

        }
        return retUser;
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰雪梦之恋 2024-11-06 02:59:39

问题似乎出在互联网浏览器上 - 永远不要在同一浏览器的两个选项卡中打开应用程序的两个实例 - 会话/cookies/共享的任何内容

It seems that problem lies in the internet browser - never open two instances of your application in two tabs of the same browser - session/cookies/whatever are shared

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文