Asp.net 使用单个cookie处理整个身份验证和授权是否可以?

Asp.net 使用单个cookie处理整个身份验证和授权是否可以?,asp.net,cookies,Asp.net,Cookies,我习惯于使用一个包含用户id的cookie进行身份验证和授权。在每个页面上,我都会检查用户是否具有此用户id。 使用存储在客户端的单个cookie值处理整个用户身份验证和授权是否安全? 我想要基于与我的方法相关的安全问题的答案。 我的网站会很容易被伪造的cookies入侵吗 我的网站会很容易被伪造的cookies入侵吗 答案是肯定的 怎样 恶意用户在您的系统中创建虚拟帐户。然后使用诸如在chrome浏览器中编辑此cookie之类的工具更改cookie值(即用户ID) 如果用户ID是Guid,则

我习惯于使用一个包含用户id的cookie进行身份验证和授权。在每个页面上,我都会检查用户是否具有此用户id。 使用存储在客户端的单个cookie值处理整个用户身份验证和授权是否安全? 我想要基于与我的方法相关的安全问题的答案。 我的网站会很容易被伪造的cookies入侵吗

我的网站会很容易被伪造的cookies入侵吗

答案是肯定的

怎样 恶意用户在您的系统中创建虚拟帐户。然后使用诸如在chrome浏览器中编辑此cookie之类的工具更改cookie值(即用户ID)

如果用户ID是Guid,则有点难以猜测。然而,这是一场等待发生的灾难

如何预防 由于您使用的是ASP.Net,因此最简单的方法是。举个例子,

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
        "userName",
        DateTime.Now,
        DateTime.Now.AddMinutes(30), // value of time out property
        false, // Value of IsPersistent property
        String.Empty,
        FormsAuthentication.FormsCookiePath);

string encryptedTicket = FormsAuthentication.Encrypt(ticket);
如果您对表单身份验证有疑问,请在Google和StackOverFlow中搜索