login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[ZF2.0] Authentication (Opgelost)

Offline Ibrahim - 08/01/2013 21:51 (laatste wijziging 08/01/2013 21:54)
Avatar van IbrahimPHP expert Ik heb een vraagje betreffende Zend Framework 2.0 Authentication class:

  1. <?php
  2. // login action
  3. $authService = $this->getAuthService();
  4. $authService->getAdapter()->setIdentity($identity)
  5. ->setCredential($credential);
  6.  
  7. $authService->authenticate();


Dit werkt gewoon prima. Ik wil echter in een andere action in een andere request de user row ophalen. Binnen de bovenstaande action is dit mogelijk door het volgende:

  1. $authService->getAdapter()->getResultRowObject(array('userid'));


Dit is echter niet mogelijk in een andere action, in een andere request. Iemand ideeën?

Edit:
Ik weet dat ik via een normale select de row ook kan ophalen, maar ik denk dat dit ook mogelijk hoort te zijn.

5 antwoorden

Gesponsorde links
Offline Stijn - 08/01/2013 21:53
Avatar van Stijn PHP expert In ZF 1.x had je Auth_Storage. Wordt in de manual geen referentie naar storage gelegd? Zend_Session was de default storage. Nerdy as I am, I wrote my own storage because i'm not black.
Offline Ibrahim - 08/01/2013 21:55
Avatar van Ibrahim PHP expert Ja, er is een storage, maar dat is geen oplossing. Ik heb meerdere velden voor een user object, maar die wil ik niet allemaal gaan opslaan in een sessie. Dat is niet echt een oplossing.
Offline Stijn - 09/01/2013 22:30
Avatar van Stijn PHP expert ZF kennende zal je zelf iets moeten schrijven. Ik gok dat die authService een methode heeft om te controleren of dat iemand is ingelogd. In ZF1.x was dit: $zendAuth->hasIdentity();. En die methode kijkt in de auth storage of je ingelogged bent. Als je de identity opvraagt in de authService, zal je wss een object terug krijgen.

Ik stel voor om zelf een storage te schrijven en die te gebruiken in je authService. Als dat nog mogelijk is in ZF2.x. Ik zal je een voorbeeld geven van mijn storage.

http://pastebin.com/jyD9Lbi0

Hij werkt dus via sessie en als die niet bestaat, checkt hij de cookie.
Offline Martijn2008 - 10/01/2013 01:13 (laatste wijziging 10/01/2013 22:05)
Avatar van Martijn2008 PHP beginner Hi Ibrahim - er is een kant en klare module voorhanden voor de autorisatie, zie ZfcUser eens. Door middel van composer kun je deze module eenvoudig toevoegen aan je ZF2 website en up-to-date houden.

Ik denk dat het resultaat dat je zoekt op deze wiki-pagina staat beschreven. In de broncode kun je terugvinden hoe ZfcUser werkt. Mogelijk kun je door het e.e.a. aan te passen je doel bereiken.
Offline Ibrahim - 04/02/2013 15:11
Avatar van Ibrahim PHP expert Hey Martijn, ik was al op de hoogte van ZfcUser. Ik ben bezig om een project te maken om zo ZF2.0 te leren. Ik heb het trouwens opgelost.

@stijn: de storage is geen plek om resources op te slaan of om business logic in te verwerken (wat als ik method wil hebben die de volledige naam van de gebruiker weergeeft). Daar sla je enkel de identity op. Ik heb het opgelost door een User model en entity te maken en door middel van de Identity in de storage kan ik zo de huidige gebruiker ophalen. Toch bedankt!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s