6

我有一个网络应用程序。

<meta name="apple-mobile-web-app-capable" content="yes">

我把这个放在那里。

我添加到主屏幕。

但是,我意识到关闭网络应用程序后我总是需要重新登录。

如何让它保持会话?

4

2 回答 2

1

有一个简单的答案,但到目前为止,我无法在 Apple 的官方文档中找到任何参考。

诀窍是这样做:

// Start or resume session
session_start(); 

// Extend cookie life time by an amount of your liking
$cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds
setcookie(session_name(),session_id(),time()+$cookieLifetime);

如果您像这样延长会话 cookie 的生命周期,Safari 将保留会话 cookie,甚至允许在您的 Web 应用程序的“已安装主屏幕”版本和通过 Safari 本身的正常访问之间共享会话。

如需更详细的讨论,请查看我对这个问题的回答:

在 iPhone 上的 Web 应用程序中维护 PHP 会话

于 2013-01-30T10:58:54.387 回答
-2

当我必须访问外部应用程序时,我使用静态类和静态变量(例如字典(字符串,对象))来保存数据。如果你使用 FormAuthentication,你会注意到

User.Identity.IsAuthenticated = true 

但会话不存在。您可以使用“User.Identity.Name”作为键来获取字典中的数据。

这适用于 ASP.Net MVC3

于 2013-01-30T10:46:33.707 回答