login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Symfony2] Rollen onjuist

Offline Martijn2008 - 16/07/2013 14:30 (laatste wijziging 16/07/2013 15:13)
Avatar van Martijn2008PHP beginner Hallo allemaal,

Ik gebruik het Symfony2 Framework als basis voor mijn applicatie. Als authorisatie provider gebruik ik FosUserBundle. Deze heb ik geconfigureerd conform het stappenplan in de handleiding.
Ook maak ik gebruik van custom forms.

Wat is nu het probleem? Als gebruiker kun je inloggen, maar je hebt altijd ROLE_USER terwijl je eigenlijk ROLE_ADMIN of ROLE_SUPER_ADMIN hoort te hebben.

Hoe heb ik een user gepromoot? Hiervoor heb ik gebruik gemaakt van een commandline code, deze staat beschreven in de handleiding (zie 4 - promote a user).

  1. root@administrator:/var/www/symfony2# php app/console fos:user:promote Martijn --super
  2.  
  3. User "Martijn" has been promoted as a super administrator.


Deze code werkt. Ik zie de wijziging in mijn database in tabel fos_user kolom roles.

  1. a:1:{i:0;s:16:"ROLE_SUPER_ADMIN";}


Wanneer ik dit controleer in mijn applicatie kom ik erachter dat deze gebruiker enkel ROLE_USER heeft.

  1. <?php
  2. var_dump($this->getUser()->getRoles());
  3. ?>


Resultaat
  1. array(1) { [0]=> string(9) "ROLE_USER" }


Ik ben met dit probleem nu al een paar dagen mee bezig. Heeft iemand misschien een oplossing of een richting waar ik de oplossing kan vinden?

Alvast bedankt.

Martijn


--------

Oplossing
Methode van entity user aanpassen in het project van
  1. /**
  2.   * @inheritDoc
  3.   */
  4. public function getRoles()
  5. {
  6. return array('ROLE_USER');
  7. }


naar

  1. /**
  2.   * @inheritDoc
  3.   */
  4. public function getRoles()
  5. {
  6. return $this->roles;
  7. }


Bedankt brammm @ #symfony IRC channel.

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.226s