Asp.net 特殊用户时发送cookie
我需要制作一个cookie,每当调用User1的用户(并且只有该用户)打开网站时,它都会发送/读取cookie。它应该包含,在用户1登录后,即使他确实关闭了浏览器,也不应该再让他注销。(因此,当他重新打开浏览器和网站时,他应该仍然登录。有人知道我如何处理这个问题吗?如果你能给我一些代码,并对其进行评论,我将非常感激,因为我对所有这些事情都不是很感兴趣,我真的很想了解你们做了什么 内部web应用程序需要cookie,因此不需要对其密码进行加密 (语言为aspx和VB。)Asp.net 特殊用户时发送cookie,asp.net,vb.net,cookies,Asp.net,Vb.net,Cookies,我需要制作一个cookie,每当调用User1的用户(并且只有该用户)打开网站时,它都会发送/读取cookie。它应该包含,在用户1登录后,即使他确实关闭了浏览器,也不应该再让他注销。(因此,当他重新打开浏览器和网站时,他应该仍然登录。有人知道我如何处理这个问题吗?如果你能给我一些代码,并对其进行评论,我将非常感激,因为我对所有这些事情都不是很感兴趣,我真的很想了解你们做了什么 内部web应用程序需要cookie,因此不需要对其密码进行加密 (语言为aspx和VB。) 提前感谢如果您使用的是AS
提前感谢如果您使用的是ASP.NET成员资格系统,则当前用户的用户名为
membership.GetUser().username
(请参阅和),以便检查。请记住,除非页面的所有路径都需要登录,否则可能没有当前用户
要设置cookie,请将其添加到集合中
编辑:此外,为了避免用户注销时出现问题,如果不是特定用户,则从
响应中明确删除特殊cookie。Cookies
检测访问网站的用户是我假设您已经知道的事情,因此我将不再进一步讨论此问题。一旦您识别了该用户,您可以创建并发送自定义cookie时,您可以将cookie超时设置为有效的过期日期和时间。虽然您可以根据自己的喜好将过期时间设置为最远的将来,但有些浏览器可能会忽略它,一些较旧的浏览器也要求您的cookie设置隐私策略(请参阅)。在下面的示例中,代码DateTime.Now.AddMinutes(30)
定义了过期日期,这是您在将来需要设置的位
forms authentication Ticket对象在此处有详细的文档记录:
Dim ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _
UserName, _
DateTime.Now, _
DateTime.Now.AddMinutes(30), _
False, _
"", _
FormsAuthentication.FormsCookiePath)
' Encrypt the ticket.
Dim encTicket As String = FormsAuthentication.Encrypt(ticket)
' Create the cookie.
HttpContext.Current.Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, encTicket))