|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2009 Messages : 2 ![]() |
Bonjour,
J'ai deux applications 'front' et 'back' sur un projet Symfony 1.4.8. le back contient des modules avec des méthodes sécurisés (crédential "user"), les méthodes des modules renvoient les données en json comme un web service. Le front doit faire appel aux méthodes sécurisées de l'application back afin de charger les données json sur les vues du front, or impossible d'accéder au méthode depuis les contrôleurs de l'application front: renvoie toujours un message d'erreur 'droit incorrect'. Si on utilise ajax et la méthode getJson par exemple, on récupère bien le contenu json des méthodes sécurisés appelés. En front, on a bien un user avec un id et une session et le crédential "user" mais impossible d'accéder aux méthodes sécurisées de l'application back avec le front. Si vous savez comment dialoguer entre 2 applications symfony sur un même projet avec une gestion d'utilisateur sur une app comme un web service, merci de m'apporter un petit coup de pouce. merci |
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je travail sur l'étude d'un projet semblable, mais en Sf2.
En fait tu as un front qui fait l'affichage et un back qui n'en est pas un et qui serait plutôt un DataAccessService ? Je ne comprend pas bien le rapport entre les droits sur le back et le traitement en front. L'utilisateur qui sera utilisé sur le back est-il différent de celui qui s'authentifie sur le front ? Où sont-ce les mêmes personnes mais réparties sur deux applications différentes ? Pourquoi deux applications différentes aussi liées ? En effet, si elle sont front et back elle sont presque sœurs siamoise, as-tu prévu, à terme, de les répartir sur des machines différentes ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2009 Messages : 2 ![]() |
Bonjour,
Oui mon back est un data service qui fait des appels à un réel webservice et qui fait des liaisons avec la base de données. Ses méthodes renvoient que du json (à la base c'est un backoffice pour application mobile). Le problème c'est qu'il faut s'authentifier du côté back pour avoir accès aux différentes méthodes. Il y a une méthode de connexion qui fonctionne nickel quand on l'appelle en requête ajax. Cela construit bien une session user côté back avec un credential user. Si j'appelle cette méthode depuis mon application front, la session n'ai pas créée et pas de retour de json (vous n'avez pas les droits). Même si je créé une session user du côté front, normalement les sessions sont partagés entre applications dans Symfony mais dans mon cas, impossible d'accéder aux méthodes sécurisés. Pour répondre à la question, oui ce sont les même personne pour les deux appli, une appli pour le front, et l'appli back pour récupérer les données et bien entendu l'appli front peut être amené à être sur une machine différente. Perso, j'aurais tout mis dans une seul application mais ce n'ai pas moi qui décide. Le truc c'est que cela fonctionne en ajax (getJson) mais pas du tout en php entre 2 apps symfony. |
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
J'ai un projet similaire.
Pour l'authentification nous avons envisagé plusieurs stratégies, la plus probable sera celle d'un jeton servi par un serveur d'authentification partagé entre tous les éléments et toutes les applications. Dans ton cas, tu n'as pas de session, ni de partage de session. Et je ne suis pas sur qu'un partage physique des sessions soit une solution viable. As-tu essayé en encapsulant tes demandes dans une session CURL ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com