Asp.net会话交叉/混合
|
几周前,我们有一位客户与我们联系,说有时当他创建一个活动时,它会以别人的名字创建! 我们做了一些故障排除,找不到任何东西.下次遇到这些问题时,我们要求用户与我们联系.他确实与我们联系了,我们能够和他一起去打乒乓球,用自己的眼睛看待这个问题. 他不仅是活动,而且被认定为应用程序中的其他人.他可以访问其他人应该访问的所有内容.那是当我们意识到我们正在混合一个问题的时候. 一点关于我们的代码: BL.User currentUser = BL.User.Authenticate(txtUsername.Text,txtPassword.Text);
if (currentUser != null)
{
this.Session["NumberOfLoginTried"] = "0";
FormsAuthentication.SetAuthCookie(currentUser.UserID.ToString(),chRememberMe.Checked);
Response.Redirect(FormsAuthentication.GetRedirectUrl(currentUser.UserID.ToString(),false));
}
我们还使用以下代码段在我们的应用程序中获取登录用户ID(当前用户). public static int GetCurrentUserID()
{
int userID = -1;
int.TryParse(HttpContext.Current.User.Identity.Name,out userID);
return userID;
}
是的,我们做了我们的家庭作业和谷歌搜索,看到以下两个环节: http://lionsden.co.il/codeden/?p=446 我们已经禁用了.aspx和.ascx文件的内核模式缓存和用户模式缓存,这仍然在发生. P.S-该应用程序在具有IIS 7.5的Windows 2008 R2上运行.而且我们没有使用无Cookie会话. 解决方法我们刚刚遇到了一个非常相似的问题,这个问题随机发生,似乎是不可重复的.问题原来是ASP.NET页面缓存机制 – 在我们的例子中,特别是<%@ OutputCache标签. 我们使用了一条线 在我们的情况下,改变这一行 并在相关页面的Page_Load事件中添加以下行: Response.CacheControl = "private"; Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d); Response.Cache.SetCacheability(HttpCacheability.NoCache); 似乎已经解决了我们的问题.希望这可以帮助别人遇到类似的问题. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- IIS部署的ASP.NET 5 BETA 8站点到IIS会给出HTTP错误500.19
- ASP.Net会话超时检测:Session.IsNewSession和SessionCooki
- asp.net – 返回新的RedirectResult()vs返回Redirect()
- asp.net-mvc – ASP.NET MVC App中基于声明的条件编辑操作授
- .net – 使用实体框架作为数据访问层
- asp.net – 如何在Eval格式字符串中使用单引号
- .net – 在控制器中查看列表数据
- 如何从asp.net按钮单击事件调用javascript函数
- 在ASP.NET MVC网站中无法获取详细的错误信息
- asp.net – 由TaskScheduler和SynchronizationContext混淆同
- 为什么我的客户端去服务器来检查在使用ASP.NET M
- asp.net-mvc – 为FileResult设置ETag – MVC 3
- 如何在Asp.Net Web API 2中使用Owin OAuth2修改令
- 实现ASP.NET MVC应用程序的全文搜索的最佳方法是
- asp.net-mvc – FluentValidation Autofac Valid
- asp.net-mvc – 避免@html.checkboxfor的foreach
- .net – 如何从ModelState键中删除前缀?
- ASP.NET MVC 3 – 处理多个域并共享单个代码库
- asp.net-mvc – 如何忽略ASP.NET MVC 4中特定Vie
- asp.net-mvc – ASP.NET MVC IIS7 FireFox:尾部
