2013-02-05 122 views

回答

4

我只是不明白为什么表单身份验证不会建立在Session的顶部。

窗体身份验证使用这是常见的所有应用程序的cookie。只有当前认证的用户名存储在cookie中。另一方面,会话可以存储任意大的值,因为它存储在服务器上。您无法将任意大数据保存到Cookie中。会话状态有很多问题。例如,如果您正在Web场中运行,则需要确保您使用的是进程外会话持久性,而不是默认的InProc,以便Web场的所有节点都可以共享相同的会话数据。我个人从不在我的应用程序中使用会话。我做的第一件事就是确保我禁用我的web.config所有会话状态:

<sessionState mode="Off" /> 

这样,我相信,我的项目工作没有开发商会做使用ASP.NET的错误会话。他们将旨在无国籍的Web应用程序变为有状态。

与饼干你没有这样的问题。您可以向网络农场抛出尽可能多的节点,以面对不断增加的用户负载,而无需担心服务器上的任何状态。

+1

只是挑剔:加密票据存储到cookie http://msdn.microsoft.com/en-us/library/ff647070.aspx – Joe

+0

我已经做了会话状态:) – Aristos

+0

@Aristos,你的意思是''?我向你保证,这是有史以来最好的会话状态模式。 –

2

基本,因为有些人可能会选择只使用其中的一个,因为它们是两个不同的模块 - 并且都提供了自定义界面。

而且一个用户可以有出会话从未被验证

也有一些其他的(比如我)就可以取得完全自定义会话模块,但保留身份验证模块。

因此,这是两个不同的模块和它们不能被连接。

相关问题