当前用户被 ria 服务身份验证覆盖
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题似乎出在互联网浏览器上 - 永远不要在同一浏览器的两个选项卡中打开应用程序的两个实例 - 会话/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