如何让“apple-mobile-web-app-capable”不会丢失会话?

时间:2012-04-07 11:36:31

标签: ios browser safari webkit iphone-standalone-web-app

我有一个网络应用程序。

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

我把它放在那里。

我添加到主屏幕。

然而,我意识到在关闭网络应用程序后我总是要再次登录。

如何让它保持会话?

2 个答案:

答案 0 :(得分: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本身的正常访问之间共享会话。 / p>

有关更详细的讨论,请查看我对此问题的回答:

Maintain PHP Session in web app on iPhone

答案 1 :(得分:-2)

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

User.Identity.IsAuthenticated = true 

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

这适用于ASP.Net MVC3