1

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

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

4

1 回答 1

6

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

<authentication mode="Forms">
   <forms cookieless="UseCookies" loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
于 2012-04-02T07:20:05.930 回答