Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2011, 23h22   #1
Nouveau Membre du Club
 
Avatar de Jesmar
 
Homme
Inscription : juin 2006
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France

Informations forums :
Inscription : juin 2006
Messages : 115
Points : 31
Points : 31
Par défaut Pb credentials et requête select

Hello
J'ai trois problèmes mais je n'ai pas le code sous la main donc je vais essayer d'être le plus clair et de ne pas faire d'erreur dans l'emploi des mots-clés.
j'utilise symfony 1.4 avec doctrine et j'y ai deux applis : superadmin (qui peut tout faire) et admin (qui peut faire certains trucs)
mon problème concerne une requête select et des credentials (les deux pbs ne sont pas liés l'un à l'autre)

*** Select ***
une requête select affiche certaines infos et je veux la modifier pour y rajouter un where. c'est bête mais j'ai beau chercher, je ne trouve pas cette requête dans model ou ailleurs.

*** Credentials 1 ***
lorsque je me connecte avec un compte admin, je ne suis pas censé créer ou supprimer un utilisateur ou voir la liste des utilisateurs mais je la vois quand même
donc je tape, et ça marche :
Code :
1
2
3
4
config:
  actions:
    new:    { credentials: [Permissions_Superadmin] }
    delete: { credentials: [Permissions_Superadmin] }
pour ne pas voir la liste, je tape une des trois mais aucune ne marche (apparemment, j'ai vu qu'aucun de ces mots clés n'existent) :
Code :
1
2
3
4
5
config:
  actions:
    list:    { credentials: [Permissions_Superadmin] }
    show:    { credentials: [Permissions_Superadmin] }
    display: { credentials: [Permissions_Superadmin] }
---

ce n'est pa un de mes pb mais est-il possible d'appliquer un credential sur Hello ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
config:
  fields:
    fields1: { label: toto }
    fields2: { label: toto }
    fields3: { label: toto }
    fields4: { label: toto }
    fields5: { label: toto }
    fields6: { label: toto }
  form:
    display:
      "Coucou": [fields1, fields2, fields3]
      "Hello":  [fields4, fields5, fields6]
*** Credentials 2 ***
pb majeur : en tant que admin, je peux modifier mes infos mais si je change un numéro dans l'url, je me retrouve sur la page des infos d'un autre utilisateur. j'ai donc pensé à utiliser un credential mais je suis pas sûr. je pense que le plus simple serait de vérifier l'id de l'utilisateur avec le numéro dans l'url sauf si il y a un meilleur moyen.

merci pour vos réponses.
__________________
Peace & Love
Jesmar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 18h06   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Pour le nom à mettre dans config: action: il faut regarder dans ton contrôleur. Tu peux le trouver dans le cache si c'est un module d'admin auto-généré. De tête l'action de liste, qui est l'action par défaut, doit s'appeler index, à vérifier.

Il n'est pas possible de préciser un credential dans le generator.yml pour un display.

Pour qu'un utilisateur puisse accéder à ses informations de profil il convient, à mon avis, de faire un module dédié. Pas d'utiliser une partie du module d'admin à plusieurs fins différentes. On doit pouvoir utiliser le même form ou un form un peu alléger en champs (fields) qui sera simple à dériver du form de base.

Ensuite je ferais une action qui ne prend pas de paramètre. Dans le contrôleur on va récupérer l'Id de l'utilisateur et afficher ses données. Ce qui évite toutes possibilités de tricher. La manière de récupérer cette information dépend de la manière dont tu authentifies ton user. Si tu utilises sfGuard, il permet de récupérer directement l'objet user donc pas même de requête à faire.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 09h35   #3
Nouveau Membre du Club
 
Avatar de Jesmar
 
Homme
Inscription : juin 2006
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France

Informations forums :
Inscription : juin 2006
Messages : 115
Points : 31
Points : 31
ok merci, je vais voir ça
__________________
Peace & Love
Jesmar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h04.


 
 
 
 
Partenaires

Hébergement Web