Jul*_*mon 2 asp.net-mvc-4 simplemembership
我在MVC 4项目中使用simplemembership,这会按预期创建会话,但似乎会话到期后用户信息仍然存在.
例如,20分钟后,如果User.Identity.IsAuthenticated == true仍然有效,但我的会话变量都是空的.
有人能告诉我为什么会这样吗?这个cookie是管理的吗?是否有必要进行其他检查而不是If User.Identity.IsAuthenticated == true?
如果他们的会话已经过期,我不能让某人获得访问权限.
谢谢
这些是ASP.NET中的3种不同概念:
这3个可以单独使用,它们之间没有任何依赖关系.我将尝试分别描述它们:
ASP.NET会话 - 为您希望在各种HTTP请求之间保留的某些信息提供服务器端存储.开箱即用的服务器上有3种类型的存储:InProc,StateServer和SQLServer.客户端上有一个cookie,它只包含会话的标识符,因此在服务器上可以从相应的存储中检索正确的数据.您可以在此处阅读有关ASP.NET Session的更多信息:http://msdn.microsoft.com/en-us/library/ms178581(v = vs.100).aspx
表单身份验证 - 用于跟踪经过身份验证的用户 当前经过身份验证的用户存储在cookie中.实际上,他的加密用户名存储在表单身份验证cookie中,并在每个请求中传递.该User.Identity.IsAuthenticated属性由FormsAuthenticationModule从此cookie的值填充.您可以在此处详细了解表单身份验证的工作原理:http://msdn.microsoft.com/en-us/library/ff647070.aspx
简单成员资格提供程序 - MembershipProvider使用SQL Server存储成员资格用户的ASP.NET 实现.
在ASP.NET MVC中,这些概念的工作方式与传统的ASP.NET WebForms相同.唯一的区别是您可以使用该Authorize属性修饰控制器操作,以确保只有经过身份验证的用户(那些提供了有效的表单身份验证cookie的用户)才能访问该操作.
| 归档时间: |
|
| 查看次数: |
1368 次 |
| 最近记录: |