繁体   English   中英

如何使用ASP.NET MVC维护用户会话

[英]How to maintain User-session with ASP.NET MVC

大家好,我想知道有什么方法可以在不使用ASP.NET MVC成员身份的情况下维护登录,注销,用户会话等内容?

法拉兹

涉及您所涉及领域的三种提供程序模型。

MembershipProvider涉及身份验证,验证用户并存储与用户有关的数据,例如上次登录日期,用户名等。

RoleProvider与授权用户使用应用程序的特定区域有关。

SessionStateProvider与存储应用程序的会话有关。

如果默认提供程序不适合,则可以为其中任何一个编写自己的自定义提供程序。 您可以在没有提供程序的情况下进行自己的身份验证,授权或会话管理,但是,除了实现自己的自定义提供程序之外,还涉及很多工作。

您可以使用Session对象存储会话范围的数据。

但是对于身份验证/授权,您将需要提出自己的方案。

您需要使用会话字典和会话状态服务器。 有关更多信息,请参见http://msdn.microsoft.com/zh-cn/library/ms178581.aspx

警告:根据我的经验,InProc会话状态模式仅在当前HTTP请求的生存期内保留您放入Session中的值。 它们不会像您期望的那样在请求中持久存在,即使您使用的是单个HTTP服务器,并且您认为内存中存储也将持久存在。 仅在使用VS2010中的内置http服务器进行调试时,可能会发生这种情况,但是即使如此,它也会给您带来很多麻烦,试图了解为什么不保存状态信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM