一个异常问题(登陆cookie)

JJYY0088 2012-11-07 11:11:16
客户那边是虚拟机,web登录是用cookie做的,现在出现了一个异常问题,客户端有时候出现无法登陆,检测到cookie是不存在的,重新登陆无反应。但是在服务器内登陆却是正常。这个异常要重启服务器才能恢复正常。
搞不懂什么异常?????????

登陆代码

string username = Request["username"].ToString();
string password = Request["password"].ToString();

//验证数据库用户表
UserModel user = DllFactory.getTrainDll.getUser(username, password);

if (user != null)//通过
{
HttpCookie aspCookies = new HttpCookie("aspusername");
HttpCookie aspCookiesPwd = new HttpCookie("password");
HttpCookie aspCookiesuid = new HttpCookie("uid");
HttpCookie aspCookiesPower = new HttpCookie("spower");//T代表教师,U代表学生,S代表管理员
HttpCookie aspCookiesUserID = new HttpCookie("aspuserId");

aspCookies.Value = Server.UrlEncode(user.UserName.ToString());
aspCookiesPwd.Value = user.PassWord;
aspCookiesuid.Value = user.Uid.ToString();
aspCookiesPower.Value = user.Spower.ToString();
aspCookiesUserID.Value = user.Uid2;

aspCookies.Expires = DateTime.Now.AddDays(3);
aspCookiesPwd.Expires = DateTime.Now.AddDays(3);
aspCookiesuid.Expires = DateTime.Now.AddDays(3);
aspCookiesPower.Expires = DateTime.Now.AddDays(3);
aspCookiesUserID.Expires = DateTime.Now.AddDays(3);

HttpContext.Current.Response.Cookies.Add(aspCookies);
HttpContext.Current.Response.Cookies.Add(aspCookiesuid);
HttpContext.Current.Response.Cookies.Add(aspCookiesPwd);
HttpContext.Current.Response.Cookies.Add(aspCookiesPower);
HttpContext.Current.Response.Cookies.Add(aspCookiesUserID);

Response.Redirect("index.aspx");
}



退出登录代码

HttpCookie cookies = Request.Cookies["aspusername"];
if (cookies != null)
{
cookies.Expires = System.DateTime.Now.AddDays(-30);
Response.Cookies.Add(cookies);
}

HttpCookie cookies1 = Request.Cookies["password"];
if (cookies1 != null)
{
cookies1.Expires = System.DateTime.Now.AddDays(-30);
Response.Cookies.Add(cookies1);
}

HttpCookie cookies2 = Request.Cookies["uid"];
if (cookies2 != null)
{
cookies2.Expires = System.DateTime.Now.AddDays(-30);
Response.Cookies.Add(cookies2);
}

HttpCookie cookies3 = Request.Cookies["spower"];
if (cookies3 != null)
{
cookies3.Expires = System.DateTime.Now.AddDays(-30);
Response.Cookies.Add(cookies3);
}

HttpCookie cookies4 = Request.Cookies["aspuserId"];
if (cookies4 != null)
{
cookies4.Expires = System.DateTime.Now.AddDays(-30);
Response.Cookies.Add(cookies4);
}
Response.Redirect("index.aspx");



...全文
336 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
JJYY0088 2012-11-14
  • 打赏
  • 举报
回复
引用 8 楼 rayaspnet 的回复:
感觉问题存在: UserModel user = DllFactory.getTrainDll.getUser(username, password); 设置断点检查一下 另外,密码不要存在客户端
UserModel user = DllFactory.getTrainDll.getUser(username, password); 这个已经读取到用户的信息了,就是不能重新写入到 原来的cookie,获取cookie是null的!
rayaspnet 2012-11-13
  • 打赏
  • 举报
回复
感觉问题存在: UserModel user = DllFactory.getTrainDll.getUser(username, password); 设置断点检查一下 另外,密码不要存在客户端
JJYY0088 2012-11-13
  • 打赏
  • 举报
回复
原来用 Cookies["UserName"] 记录登录状态的,登录不了后,重新生成(见上面登录代码)后,发现 Cookies["UserName"] 无法再重新生成,其他页面访问为空,但是生成新的cookie是可以的(如: Cookies["Other"] 是正常的。
JJYY0088 2012-11-13
  • 打赏
  • 举报
回复
引用 5 楼 norikosaika0001 的回复:
是不是虚拟机的设置问题?
涉及哪些设置?
JJYY0088 2012-11-07
  • 打赏
  • 举报
回复
这个是否与服务器有关系???
JJYY0088 2012-11-07
  • 打赏
  • 举报
回复
现在又发现一个新问题,ie、谷歌浏览器无法登陆,但是火狐可以登陆。
引用 2 楼 bdmh 的回复:
是不是客户端禁用cookie了
一开始浏览器都可以登陆的,但是有个客户端测试员测试遇到无法登陆后,其他客户端就不能登陆了。
bdmh 2012-11-07
  • 打赏
  • 举报
回复
是不是客户端禁用cookie了
JJYY0088 2012-11-07
  • 打赏
  • 举报
回复
有没有人遇到过这个情况的,服务器可以正常登陆,客户端却不能登陆!!!!
norikosaika0001 2012-11-07
  • 打赏
  • 举报
回复
是不是虚拟机的设置问题?

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧