asp.net - FormsAuthentication.SetAuthCookie() 是否制作基于 session 的 cookie?

标签 asp.net

好的,我很困惑,asp.net 中的 FormsAuthentication.SetAuthCookie() 是否创建基于 session 的 cookie?从我收集到的将一些东西放入 session 中,你会在后面的代码中做这样的事情:

Session["userAge"] = 25;

现在不管是否创建了 cookie,这都将作为它的服务器端工作,所以我很困惑什么时候我读到你可以有 session 和无 session cookie,如果是这样,你如何创建每个 cookie 以及如何访问 esssion 变量.net 中的 cookie?

最佳答案

这是一个常见的混淆。 Session 和 FormsAuthentication 是两个独立的概念 - 它们具有独立的超时和独立的 cookie(如果您使用 Cookieless session ,则没有 cookie。)

服务器上的 session 由一个唯一的 cookie 标识,该 cookie 甚至为匿名用户创建。这个 cookie 持有一个与 FormsAuthentication 无关的 SessionID。

FormsAuthentication cookie 包含许多内容,其中最重要的是身份验证票证。此票证是加密的信息位,可根据提供的登录凭据识别用户。有一个很好的分步流程图和对票中内容的解释in this MSDN article .

关于asp.net - FormsAuthentication.SetAuthCookie() 是否制作基于 session 的 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1335472/

相关文章:

asp.net - 启用 Web 的文件存储和授予 IIS_IUSRS 删除权限的安全隐患

asp.net - asp 按钮的 e.CommandArgument 不起作用

asp.net - 开始使用 ASP.NET 3.5 进行 AJAX,我在服务器上需要什么

c# - ID为 'UpdatePanel1'的UpdatePanel的Controls属性不能直接修改

asp.net - 如何在 ASP.NET 页面中使用 'Using' 关键字而无需隐藏代码

asp.net - 在 IE 7 中调用 Ajax 后,CSS 样式消失了

c# - ASP.NET 中的按键

asp.net - 从后面的代码更改asp.net页面的url

c# - 如何在asp.net mvc 中编写纯SQL?

asp.net - MySQL::Connector/Net 欧元符号