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 09/09/2011, 23h52   #1
Invité de passage
 
Inscription : avril 2009
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 8
Points : 1
Points : 1
Par défaut Problèmes avec les credentials

Bonjour a tous,
Je me retourne le cerveau depuis hier avec les credentials.
J'essaye d'attribuer des crédentials aux utilisateurs, et d'autoriser l'affichage d'une page en fonction de ces credentials.

Lors de la connexion j'attribue aux utilisateurs un credentials membre de cette maniere :
Code :
$this->getUser()->addCredential("membre");
Ensuite, juste apres j'essaye de tester si le crédential a bien été attribué de cette maniere :
Code :
1
2
3
if($this->getUser()->hasCredential("membre") == true){
                            echo "Tu es un membre";
                         }
Et c'est la que ca coince, ca ne me retourne jamais true, y'a t'il quelque chose a configurer avant ? J'ai regarder partout, tout le monde fait comme ca, et ca fonctionne, j'ai donc forcement fait quelque chose de travers.
guxou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2011, 05h20   #2
Invité de passage
 
Inscription : avril 2009
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 8
Points : 1
Points : 1
Je dois avouer que ce problème commence a me rendre fou.
guxou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 22h43   #3
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
Étonnant, c'est pourtant les méthodes utilisées notamment par sfDoctrineGuardPlugin.

Peux-tu mettre le code de ton objet my_user ?

Vérifie en mode debug quel est le contenu de l'objet user.
__________________
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 16/09/2011, 12h37   #4
Invité de passage
 
Inscription : avril 2009
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 8
Points : 1
Points : 1
Bonjour, et merci pour votre réponse, voici le contenu de mon objet user via le debug apres qu'une utilisateur se connecte :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
options:
  auto_shutdown: false
  culture: null
  default_culture: en
  use_flash: true
  logging: '1'
  timeout: 1800
attributeHolder:
  symfony/user/sfUser/attributes: { id: '2', level: false, mail: maximilien.xxxxx@xxxxx.com }
culture: en
authenticated: true
credentials:
  - membre
lastRequest: 1316085516
J'ai bien membre listé dans credentials, mais le hasCredential("membre") me renvoi false, j'ai testé un
Code :
getCredentials()->getRaw(0)
et cela me renvoi bien "Membre". Je ne comprend pas du tout le problème...
guxou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 12h39   #5
Invité de passage
 
Inscription : avril 2009
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 8
Points : 1
Points : 1
Voici le contenu de ma class MyUser :

Code :
1
2
3
4
5
6
7
8
9
<?php
/*
class myUser extends sfBasicSecurityUser
{
}
*/
class myUser extends sfGuardSecurityUser
{
}
guxou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 12h50   #6
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
Utilises-tu des fixtures pour peupler ta base de test ?

Comment as-tu défini les groupes et ou les droits ainsi que les liaisons entre les groupes, les droits et les users ?
__________________
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 17/09/2011, 15h49   #7
Invité de passage
 
Inscription : avril 2009
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 8
Points : 1
Points : 1
Bon, j'ai remis l'extend par defaut a mon objet myUser :
Code :
1
2
3
class myUser extends sfBasicSecurityUser
{
}
au lieu de :

Code :
1
2
3
class myUser extends sfGuardSecurityUser
{
}
et ca passe.
Mais je comprend pas toujours pas pourquoi...
guxou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 21h26   #8
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
sfGuardSecurityUser comprend une méthode (signIn() de tête) qui permet, lors du login d'un user, de récupérer ces droits. Si tu n'utilises pas cet objet, tu ne peux pas faire fonctionner correctement sfDGP
__________________
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
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h32.


 
 
 
 
Partenaires

Hébergement Web