在iPad Web应用程序模式下跨会话存储MVC3身份验证数据

时间:2012-03-29 12:37:49

标签: asp.net-mvc-3 ipad iphone-standalone-web-app

我有一个MVC3项目,可以在网络应用模式下在iPad上运行。我使用FormsAuthentication实现登录/注销功能,该功能调用FormsAuthentication.SetAuthCookie(model.Username, true)将登录信息存储到cookie中。在包括safari mobile在内的所有主要浏览器中,cookie会在会话期间持久保存。只有在网络应用程序模式下,有时会在浏览网络应用程序时清除cookie,并且在关闭网络应用程序后肯定会删除它。是否有可能在web-app模式下跨会话保存登录信息?

我知道可以使用HTML5本地存储功能,但我不知道如何使用新的本地存储手动实现FormsAuthentication.SetAuthCookie(model.Username, true)。除此之外,我不确定本地存储是否足够安全以存储此类关键数据。

1 个答案:

答案 0 :(得分:6)

经过大量研究后我找到了答案:您必须通过 cookieless =“UseCookies”强制在web.config的身份验证节点中使用cookie:

<authentication mode="Forms">
   <forms cookieless="UseCookies" loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>