私はウェブアプリを持っています。
<meta name="apple-mobile-web-app-capable" content="yes">
そこにこれを入れました。
ホーム画面に追加します。
ただし、Web アプリを閉じた後は、常に再度ログインする必要があることに気付きました。
セッションを維持するにはどうすればよいですか?
私はウェブアプリを持っています。
<meta name="apple-mobile-web-app-capable" content="yes">
そこにこれを入れました。
ホーム画面に追加します。
ただし、Web アプリを閉じた後は、常に再度ログインする必要があることに気付きました。
セッションを維持するにはどうすればよいですか?
簡単な答えがありますが、今のところ、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 自体を介した通常のアクセスとの間でセッションを共有することさえ許可します。
より詳細な議論については、この質問に対する私の回答をご覧ください。
アプリの外部にアクセスする必要がある場合は、静的クラスと辞書(文字列、オブジェクト)などの静的変数を使用してデータを保持します。FormAuthentication を使用すると、次のことがわかります。
User.Identity.IsAuthenticated = true
しかし、セッションは存在しません。「User.Identity.Name」をキーとして使用して、辞書のデータを取得できます。
これは ASP.Net MVC3 で動作します