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

tkl*_*zig 1 ipad asp.net-mvc-3 iphone-standalone-web-app

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

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

tkl*_*zig 6

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

<authentication mode="Forms">
   <forms cookieless="UseCookies" loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
Run Code Online (Sandbox Code Playgroud)