Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 特殊用户时发送cookie_Asp.net_Vb.net_Cookies - Fatal编程技术网

Asp.net 特殊用户时发送cookie

Asp.net 特殊用户时发送cookie,asp.net,vb.net,cookies,Asp.net,Vb.net,Cookies,我需要制作一个cookie,每当调用User1的用户(并且只有该用户)打开网站时,它都会发送/读取cookie。它应该包含,在用户1登录后,即使他确实关闭了浏览器,也不应该再让他注销。(因此,当他重新打开浏览器和网站时,他应该仍然登录。有人知道我如何处理这个问题吗?如果你能给我一些代码,并对其进行评论,我将非常感激,因为我对所有这些事情都不是很感兴趣,我真的很想了解你们做了什么 内部web应用程序需要cookie,因此不需要对其密码进行加密 (语言为aspx和VB。) 提前感谢如果您使用的是AS

我需要制作一个cookie,每当调用User1的用户(并且只有该用户)打开网站时,它都会发送/读取cookie。它应该包含,在用户1登录后,即使他确实关闭了浏览器,也不应该再让他注销。(因此,当他重新打开浏览器和网站时,他应该仍然登录。有人知道我如何处理这个问题吗?如果你能给我一些代码,并对其进行评论,我将非常感激,因为我对所有这些事情都不是很感兴趣,我真的很想了解你们做了什么

内部web应用程序需要cookie,因此不需要对其密码进行加密

(语言为aspx和VB。)


提前感谢

如果您使用的是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))