Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] getAppName w filtrze sfGuardPlugin
Forum PHP.pl > Forum > PHP > Frameworki
janek9
Witam Was,

Obecnie jestem na etapie modyfikacji wtyczki sfGuardPlugin, aby dostosować ją do moich potrzeb. Mianowicie mam tutaj na mysli plik sfGuardBasicSecurityFilter. Utworzylem osobne tabele dla uzytkownikow do frontendu i backendu. Teraz chce aby we filtrze wylapywalo mi czy remember_key zostal wpisany wczesniej do bazy. Oczywiscie wszystko dodaje sie do bazy, tylko jest problem: nie moge nigdzie znalezc funkcji ktora odpowiada za to jaka aplikacja jest w uzyciu, aby odpowiedni remember_key wyciagal z odpowiedniej tabeli. Tak to wyglada:

  1.  
  2. class sfGuardBasicSecurityFilter extends sfBasicSecurityFilter
  3. {
  4. public function execute ($filterChain)
  5. {
  6. if ($this->isFirstCall() and !$this->getContext()->getUser()->isAuthenticated())
  7. {
  8. if(sfApplicationConfiguration::getAppName('frontend')) // questionmark.gif? Tutaj nie wiem jak pobierac nazwe aplikacji i czy wogole to cos da
  9. {
  10. if ($cookie = $this->getContext()->getRequest()->getCookie(sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'remember_me')))
  11. {
  12. $c = new Criteria();
  13. $c->add(sfGuardRememberKeyPeer::REMEMBER_KEY, $cookie);
  14. $rk = sfGuardRememberKeyPeer::doSelectOne($c);
  15. if ($rk && $rk->getSfGuardUser())
  16. {
  17. $this->getContext()->getUser()->signIn($rk->getSfGuardUser());
  18. }
  19. }
  20. }
  21.  
  22. if(sfApplicationConfiguration::getAppName('backend'))
  23. {
  24. if ($cookie = $this->getContext()->getRequest()->getCookie('admin_remember'))
  25. {
  26. $c = new Criteria();
  27. $c->add(sfGuardTeamRememberKeyPeer::REMEMBER_KEY, $cookie);
  28. $rk = sfGuardTeamRememberKeyPeer::doSelectOne($c);
  29. if ($rk && $rk->getSfGuardTeam())
  30. {
  31. $this->getContext()->getUser()->signIn($rk->getSfGuardTeam());
  32. }
  33. }
  34. }
  35.  
  36.  
  37. }
  38.  
  39. if(!is_null($this->getContext()->getUser()->getGuardUser()))
  40. {
  41. if(!$this->getContext()->getUser()->getGuardUser()->getIsActive())
  42. {
  43. $this->getContext()->getUser()->setFlash('error', 'Twoje konto zostało zablokowane. Skontaktuj się za pomocą formularza kontaktowego, aby odblokować swoje konto.');
  44. $this->getContext()->getUser()->signOut();
  45. }
  46. }
  47.  
  48.  
  49.  
  50. parent::execute($filterChain);
  51. }
  52. }
  53.  
LBO
Get application name in Filter?
janek9
Cytat(LBO @ 27.02.2010, 23:39:21 ) *


Dziękuje LBO!!

Za mało szukałem:(

Pozdrawiam!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.