我似乎只能设置一个Cookie-HttpCookie,asp.net
我有一个两阶段登录的系统 第一阶段是公司登录,使用我的系统识别公司。 第二阶段是员工登录,其中属于上述公司的员工登录 在这两个阶段中,都提供了保存某些登录详细信息的选项(位置/公司,但不是密码) 如果用户愿意,他们应该能够设置公司登录Cookie,但不能设置员工Cookie,没有公司Cookie就不需要设置员工Cookie,尽管他们这样做并不重要 第一阶段登录,在数据库检查等中执行以下操作:我似乎只能设置一个Cookie-HttpCookie,asp.net,asp.net,cookies,httpcookie,httpcookiecollection,Asp.net,Cookies,Httpcookie,Httpcookiecollection,我有一个两阶段登录的系统 第一阶段是公司登录,使用我的系统识别公司。 第二阶段是员工登录,其中属于上述公司的员工登录 在这两个阶段中,都提供了保存某些登录详细信息的选项(位置/公司,但不是密码) 如果用户愿意,他们应该能够设置公司登录Cookie,但不能设置员工Cookie,没有公司Cookie就不需要设置员工Cookie,尽管他们这样做并不重要 第一阶段登录,在数据库检查等中执行以下操作: If SaveCookie Then Dim loginCookie As New HttpC
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 已删除
啊。。。经过一天的混乱,原来Cookie被另一段代码中的一个意外错误清除了,并且被捕获到了,但这段代码是相关的!如果需要,可以关闭此问题,或者保留…?本地存储是另一种选择。谷歌搜索。我不想使用本地存储,因为我无法控制过期时间,还需要控制表单服务器端。@JamieHartnoll如果您的
loginCookie
在第二次类型登录时更新,因为它是一个引用类型,您可以检查您的登录功能吗。尝试更改Cookie的名称以缩小查询范围。是否尝试为“Loginstaff”创建不同的HttpCookie对象?arrghhh DOH!这与上面的任何一个都无关-我正在清除Cookie,因为出现了一个意外的、未被注意到的错误!