我们正在创建一个面向消费者/公众的新ASP.Net网络应用。有两个问题:
- 使用cookie或cookieless表单身份验证?
- 如果我们决定根本不使用cookie,您将如何存储否则将存储在cookie中的数据(客户ID,AffiliateID等)。 ASP.Net身份验证框架是否跟踪CustomerID之类的内容?
答案 0 :(得分:3)
如果您正在进行身份验证,则Cookie是常用方法。如今很少有人会关闭cookie,因为很多网站已经依赖它们了。
话虽如此,ASP.NET确实支持“无cookie”身份验证。基本上它只是将身份验证令牌添加为URL上的参数。它会解析所有出站URL,以确保它们还包含令牌信息。就个人而言,我不打扰这个,只是需要cookie。尝试无cookie时会有一些额外的麻烦(例如,它可以使搜索引擎优化更加困难,因为搜索引擎每次抓取页面时都会看到不同的URL)。
答案 1 :(得分:3)
对于普通的网络应用程序,没有充分的理由使用无cookie身份验证 - 大约十年前,人们对Cookie的恐惧已经消失。
对于实际数据,会话对象通常是比单个cookie更好的选择 - 会话cookie是一个单独的值,可以有效地为您提供存储在服务器上的任何会话数据的密钥。在某些特殊情况下,使用会话存在问题,例如在多服务器部署中,但对于大多数应用程序而言,它很简单且足够。
标准表单身份验证系统会跟踪用户名 - 通常,如果您不想在会话中保留任何内容,这足以从数据库中查找所需的任何数据。