Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
voilà je dispose d'un site développé avec Zend, site sur lequel je souhaite ajouter une fonctionnalité.
Le fonctionnement normal est le suivant : sur le site A, je saisi login et mot de passe afin de me connecter sur le site B (site Zend). Cette partie fonctionne très bien, pas de souci.
Il existe déjà l'accès à certaines pages qui sont simplement appelées, pas de login et mot de passe, et qui fonctionne. Il s'agit de pages qui exécutent simplement un script de mise à jour de BDD par exemple.
J'ai créée sur le site B un nouveau formulaire (nouveau controller, nouvelles vues, nouveau modèle). Je souhaite atteindre ce nouveau formulaire depuis n'importe quel site, et cela sans login et mot de passe.
J'ai repris le principe qui existait pour les pages appelées de la même manière, mais ça ne fonctionne pas. Enfin, ça fonctionne en local, mais pas sur mon site de demo.
En plus, je n'obtiens aucun message d'erreur, donc pas facile de comprendre pourquoi ça marche pas.
mon controller se nomme IpController, j'ai bien apporté les droits dans le fichier MyAcl.php :
$this->add(new Zend_Acl_Resource('ip')); $this->allow('invite', 'ip');
L'URL contacté depuis mon site A pour atteindre le site B de demo est : http://demo.siteB.com/ip/envoyer (mon controller IpController contient bien une fonction envoyerAction, comme je le disais, ça fonctionne en local, entre 2 sites sur mon ordi.
Auriez-vous une idée pour régler ce problème ? où pour avoir une trace plus importante ?
D'avance merci.
Vince
Hors ligne
Quels sont les URL des sites A et B en local ?
Si tu es en http://localhost/.... dans les 2 cas, ça fonctionne en local par ce que tu partages tes cookies entre les 2 sites (même nom de domaine localhost).
Quand tu déploies sur des sites avec des noms de domaines différents, c'est assez compliqué de partager une authentification. Cherche dans Google du coté de "SSO" (sigle sign on).
A+, Philippe
Hors ligne
bonjour,
en local, mes sites se nomme : http://siteA.localhost/ et http://siteB.localhost/
ça semble correspondre à un "vrai" environnement, non ?
merci
Hors ligne
Hum.. là c'est un peu tordu comme nom de domaine, je ne sais pas si tes cookies sont partagés ou pas entre les 2 domaines, il faut tester...
Mais bon le principe est là : si tu dois changer de nom de domaine entre 2 sites, les cookies du 1er site ne sont pas envoyés au 2e site => ta session n'est pas transmise d'un site à l'autre.
Sinon si tu n'as aucun message d'erreur, il faut ajouter des traces à des endroits critiques (tu peux regarder du coté de Zend_Log pour ça) pour comprendre ce qui se passe.
A+, Philippe
Hors ligne
ok je vais essayer le zend_log.
en fait, sur mon siteA, j'ai un simple formulaire avec 5 champs, la validation appelle le siteB avec les paramètres (cet appel doit se faire depuis n'importe quel site ensuite)
En fait, je souhaite que l'utilisateur qui arrive sur le siteB (à l'URL appeler) en tant que Invité.
Comment le préciser ?
merci.
Hors ligne