网站如何检查用户登录状态?

时间:2011-09-17 12:53:15

标签: c# asp.net

在任何网站或网络应用程序中维护什么类型的安全性。登录后,每当我们从地址栏复制地址并将其粘贴到其他浏览器时,页面就无法打开,或者我们会直接重定向到登录页面。但是可以在同一浏览器中打开相同的地址。所以我想问一下,如何保持安全性以及它所称的内容?提前致谢。

2 个答案:

答案 0 :(得分:3)

的Cookie

浏览器使用cookie并且主要(几乎总是)通过cookie完成身份验证。程序是这样的:

  1. 您可以通过在地址栏中输入网站的网址来访问网站。
  2. 浏览器检查是否有为该URL设置的cookie(键/值对)
  3. 如果有任何设置cookie,浏览器会将这些cookie与HTTP请求一起发送。
  4. 该网站在让您查看所请求的内容之前检查该Cookie(在向您发送回复之前)
  5. 如果您有cookie,则会响应。
  6. 如果没有,它会将您重定向到另一个页面(登录页面),在那里它可以询问您的用户名和密码(最简单的身份验证机制)。
  7. 当您提供用户名和密码时,它只会向您发送一个cookie(身份验证cookie)。

答案 1 :(得分:3)

如果您使用的是Forms Authentication,则整个安全模型都基于Cookie。因此,当用户登录时,会为浏览器的会话发出身份验证cookie。然后,每个请求都会发送此cookie。 cookie可以是持久的(即存储在本地磁盘上)并且将在浏览器重启后继续存在,或者它可能不是持久性的,在这种情况下它只存在于浏览器的内存中。

此Cookie包含当前登录用户名的加密值,允许服务器解密此Cookie并识别此用户。

当您在另一个浏览器上移动时,没有发送cookie,因此从服务器的角度来看,用户未经过身份验证,如果他尝试访问某些受保护资源,则会被重定向到登录页面。