ASP.Net - 什么是跟踪状态和会话变量当前的最佳实践?
-
26-09-2019 - |
题
我们正在创造一个新的消费者/面向公众的ASP.Net Web应用程序。有两个问题:
- 使用的cookie或cookie的形式认证?
- 如果我们决定不是在所有使用cookie,你将如何存储,否则将被存储在cookie中的数据(客户ID,AFFILIATEID等)。是否ASP.Net认证框架轨道类似客户ID?
解决方案
对于一个正常的Web应用程序有没有好的理由使用Cookie的身份验证 - 饼干的恐惧消失了大约十年前
有关实际数据,会话对象一般比个人饼干更好的选择 - 会话cookie是一个单一的值,有效地为您提供了一键任何会话数据已存储在服务器上。在有些情况下有使用会话,例如在多服务器部署问题,某些特殊情况下,但对于大多数应用来说是简单的和足够的。
在标准窗体身份验证系统确实追踪用户名 - 通常这足以查找您从您的数据库所需要的任何数据,如果你不想保持任何会话
其他提示
如果你正在做认证,Cookies是常用的方法。这是非常罕见的,这些天,人们将不得不关闭Cookie,因为这么多的网站已经依赖于它们。
话虽如此,ASP.NET不支持“无Cookie”的认证。基本上,它只是增加了令牌上的URL参数的认证。它分析所有出站网址,以确保它们还包括令牌信息。就个人而言,我不会打扰这个,只是需要用饼干去。试图去无cookie时,有一些额外的麻烦(例如,它可以使搜索引擎更加艰难,因为搜索引擎每次抓取页面时将会看到一个不同的URL)。
不隶属于 StackOverflow