2012-04-07 49 views
6

我有一个网络应用程序。我该如何让“apple-mobile-web-app-capable”不会丢失会话?

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

我把它放在那里。

我添加到主屏幕。

但是,我意识到在关闭Web应用程序后,我总是必须重新登录。

如何让它保持会话?

+0

许多谷歌搜索给我留下了没有回答这个同样的问题。我怀疑你是打算使用本地存储自动重新登录或者其他东西,这是可行的,但似乎很奇怪。 – jhickner 2012-04-09 04:55:27

+0

我也一直没有找到一个简单的解决方案。 – dirkoneill 2012-11-07 20:01:13

回答

-2

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

User.Identity.IsAuthenticated = true 

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

此作品在ASP.Net MVC3

+0

如果这没有用。你能提供信息如何在ASP.Net MVC中处理这个问题吗?谢谢 – 2013-01-31 09:51:38

1

有一个简单的答案,但作为然而我无法找到苹果的官方文档中对它的任何引用。

关键是要做到这一点:

// 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会坚持到session cookie,甚至允许“主屏幕之间的会话共享安装'您的Web应用程序的版本,并通过Safari本身进行正常访问。

更详尽的讨论,看看我这个问题的答案:

Maintain PHP Session in web app on iPhone