IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Double application dans un projet symfony - problème de droit


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut Double application dans un projet symfony - problème de droit
    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

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    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 ?

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut
    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.

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    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 ?

Discussions similaires

  1. [2.x] Où définir ses tags dans un projet Symfony ?
    Par dorian53 dans le forum Symfony
    Réponses: 1
    Dernier message: 06/07/2014, 13h36
  2. [1.x] intégration html2pdf dans un projet symfony
    Par phpestpuissant dans le forum Symfony
    Réponses: 1
    Dernier message: 20/06/2013, 13h04
  3. Réponses: 4
    Dernier message: 21/05/2013, 18h40
  4. [1.x] problème de déploiement d'un projet symfony dans un SVN
    Par xamxamle dans le forum Symfony
    Réponses: 6
    Dernier message: 23/11/2010, 16h12
  5. [1.x] template php dans un projet symfony
    Par malek21 dans le forum Symfony
    Réponses: 1
    Dernier message: 13/07/2010, 21h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo