3

我们正在创建一个新的面向消费者/公众的 ASP.Net Web 应用程序。有两个担忧:

-- 使用 cookie 或 cookieless 表单身份验证?

--如果我们决定完全不使用 cookie,您将如何存储本来会存储在 cookie 中的数据(客户 ID、AffiliateID 等)。ASP.Net 身份验证框架是否跟踪诸如 CustomerID 之类的内容?

4

2 回答 2

3

如果您进行身份验证,cookie 是常用的方法。现在很少有人会关闭 cookie,因为很多网站已经依赖它们。

话虽如此,ASP.NET 确实支持“无cookie”身份验证。基本上它只是将身份验证令牌添加为 URL 上的参数。它解析所有出站 URL 以确保它们还包含令牌信息。就个人而言,我不会为此烦恼,而只是要求 cookie。尝试无 cookie 时还有一些额外的麻烦(例如,它会使 SEO 变得更加困难,因为搜索引擎每次抓取页面时都会看到不同的 URL)。

于 2010-04-12T04:41:25.880 回答
3

对于普通的 Web 应用程序,没有充分的理由使用无 cookie 身份验证 - 对 cookie 的恐惧大约在十年前就消失了。

对于实际数据,会话对象通常是比单个 cookie 更好的选择 - 会话 cookie 是一个单一值,它有效地为您提供了一个密钥,可以访问您存储在服务器上的任何会话数据。在某些特殊情况下,使用会话会出现问题,例如在多服务器部署中,但对于大多数应用程序来说,它是简单且足够的。

标准表单身份验证系统确实会跟踪用户名 - 如果您不想在会话中保留任何内容,通常这足以从数据库中查找您需要的任何数据。

于 2010-04-12T04:49:37.717 回答