我有一个MVC3项目,可以在网络应用模式下在iPad上运行。我使用FormsAuthentication实现登录/注销功能,该功能调用FormsAuthentication.SetAuthCookie(model.Username, true)
将登录信息存储到cookie中。在包括safari mobile在内的所有主要浏览器中,cookie会在会话期间持久保存。只有在网络应用程序模式下,有时会在浏览网络应用程序时清除cookie,并且在关闭网络应用程序后肯定会删除它。是否有可能在web-app模式下跨会话保存登录信息?
我知道可以使用HTML5本地存储功能,但我不知道如何使用新的本地存储手动实现FormsAuthentication.SetAuthCookie(model.Username, true)
。除此之外,我不确定本地存储是否足够安全以存储此类关键数据。
答案 0 :(得分:6)
经过大量研究后我找到了答案:您必须通过 cookieless =“UseCookies”强制在web.config的身份验证节点中使用cookie:
<authentication mode="Forms">
<forms cookieless="UseCookies" loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>