我似乎只能设置一个Cookie - HttpCookie,asp.net

时间:2013-12-12 09:02:17

标签: asp.net cookies httpcookie httpcookiecollection

我有一个两阶段登录的系统。

第一阶段是公司登录,使用我的系统识别公司。 第二阶段是员工登录,其中属于上述公司的员工登录。

在这两个阶段都提供了一个选项来保存某些登录详细信息(位置/公司但不是密码)

如果用户希望设置公司登录Cookie,但不能设置员工Cookie,则无需在没有公司Cookie的情况下设置员工Cookie,但如果他们这样做则无关紧要!

第一阶段登录,在数据库检查等中执行此操作:

 If SaveCookie Then
    Dim loginCookie As New HttpCookie("LogInCompany")
    loginCookie.Values("database") = Database
    loginCookie.Values("savedKey") = SavedKey
    loginCookie.Values("samCompanyId") = CompanyId
    loginCookie.Values("samCompanyName") = Common.htmlDecode(CompanyName)
    loginCookie.Expires = Date.Now.AddDays(7)
    HttpContext.Current.Response.Cookies.Add(loginCookie)
End If

然后第二阶段这样做:

If SaveCookie Then
    Dim loginCookie As New HttpCookie("LogInStaff")
    loginCookie.Values("locationId") = locationID
    loginCookie.Expires = Date.Now.AddDays(7)
    HttpContext.Current.Response.Cookies.Add(loginCookie)
End If

显然它们是完全独立的功能,所以我不认为变量命名是相同的是问题。

会发生什么:

  • 公司登录成功>公司Cookie已保存,用户进入
  • 用户登录用户登录>用户Cookie已保存,但公司Cookie已保存 被删除。

这是使用Chrome,我没有检查过其他浏览器,但Chrome对我来说是最重要的。

我知道这肯定是我在Chrome控制台中检查过的情况,根据上述说明添加和删除Cookie。

有人可以帮我指出我在哪里错了吗?

编辑 - 此代码没有错!

哎呀...在经历了一天的混乱之后,事实证明,Cookie被一个意外的,并且在一个不同但相关的代码段中被捕获的错误清除了!如果需要,可以关闭此问题,或者留下......?

0 个答案:

没有答案