[英]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.