对于这个看似简单的问题,我似乎找不到答案。
使用第一个或后一个有什么区别?为什么我要使用第一个?
在 MSDNAA 上,我发现有关 Formsauthentication.setCookie() 的以下内容:
为提供的用户名创建一个身份验证票证,并将其添加到响应的 cookie 集合中,如果您使用的是无 cookie 身份验证,则将其添加到 URL。
关于会话:
ASP.NET 会话状态使您能够在用户浏览构成 Web 应用程序的不同 ASP.NET 页面时为用户存储和检索值。HTTP 是一种无状态协议,这意味着您的 Web 服务器将对页面的每个 HTTP 请求视为一个独立的请求;默认情况下,服务器不保留先前请求期间使用的变量值的知识。因此,构建需要维护一些跨请求状态信息的 Web 应用程序(实现购物车、数据滚动等的应用程序)可能是一个挑战。ASP.NET 会话状态将在有限时间段内从同一浏览器收到的请求标识为会话,并提供在该会话期间保持变量值的能力。
当我使用会话 cookie 检查用户是否正确登录时,我对为什么要使用 formsauthentication.SetAuthCookie 特别感兴趣。例如:
if(Session["LoggedIn"] != null) {
...Do something here that only logged in users are allowed to do...
}