Mon hôte me demande d'utiliser un domaine différent pour l'accès sécurisé SSL (SSL partagé), donc j'ai besoin de faire la transition entre deux domaines. Une partie de la page vit au http://example.com
, tandis que la partie SSL est au https://example.hosting.com
. En tant que tel, je ne peux pas définir un cookie couvrant tout le domaine.Démarrer manuellement une session avec un cookie de session id/transition spécifique entre domaines
Ce que je suis en train de faire est de passer l'identifiant de session au cours et re-mettre le cookie comme celui-ci:
http://example.com/normal/page
, utilisateur clique lien dans une zone sécurisée et va à:http://example.com/secure/page
, ce qui provoque une redirection vers:https://example.hosting.com/secure/page?sess=ikub...
, qui ressuscite la session et définit un nouveau valide pour le domaine, puis redirige vers:https://example.hosting.com/secure/page
Cela fonctionne jusqu'au point où la session devrait être ressuscitée. Je fais:
function beforeFilter() {
...
$this->Session->id($_GET['sess']);
$this->Session->activate();
...
}
Pour autant que je peux le dire devrait démarrer la session avec l'ID donné. En réalité, il génère un nouvel identifiant de session et cette session est vide, les données ne sont pas restaurées.
Ceci est sur CakePHP 1.2.4. Ai-je besoin de faire autre chose ou existe-t-il une meilleure façon de faire ce que j'essaie de faire?
Semble trop de tracas et peut-être plus d'erreurs que le système actuel. Merci pour la contribution si. :) – deceze