“apple-mobile-web-app-capable” site de commutateurs pour Mobile Safari après déconnexion

Lors de l'exécution d'un site mobile iOS en mode plein écran, à l'aide de la "apple-mobile-web-app-capable" de la balise meta, je suis en utilisant une combinaison de l'AJAX et synchrone des demandes de page, y compris les redirections, avec succès, tandis que l'utilisateur est connecté.

Toutefois, lorsque l'utilisateur ferme la session et la session est détruite, l'iOS de l'appareil quitte le mode plein écran et ouvre la page de connexion dans une fenêtre de Safari Mobile.

Ici est une commune de la séquence des événements:

  1. Utilisateur clique sur le bouton sur l'Écran d'Accueil pour lancer le site mobile sous iOS complet
    mode d'écran
  2. Serveur redirige l'utilisateur vers la page de connexion pour l'authentification (toujours en plein écran)
  3. Utilisateur se connecte, et est redirigé vers une maison mobile (toujours en plein écran)
  4. Utilisateur effectue différentes actions, via GET et POST, certains à l'aide d'AJAX et d'autres pas (encore en plein écran)
  5. Utilisateur clique bouton de déconnexion, qui détruit la session et la renvoie à la page de connexion
  6. Mobile Safari ouvre la fenêtre de rendu de la page de login de cette deuxième

J'ai essayé 301, 302 et 303 redirige sur déconnexion succès et rien ne semble changer ce comportement. Il semble lié à la session de l'utilisateur se terminant lors de l'exécution en mode plein écran. Je ne pense pas que cela est important, mais le mécanisme de sécurité est mis en œuvre par le Printemps de Sécurité en cours d'exécution sur Tomcat.

Est-il un moyen pour éviter ce problème? Je préfère ne pas utiliser un emplacement.href côté client de redirection lors de la déconnexion.

OriginalL'auteur kgx | 2012-08-28