Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] getAppName w filtrze sfGuardPlugin
janek9
post
Post #1





Grupa: Zarejestrowani
Postów: 121
Pomógł: 2
Dołączył: 22.03.2009

Ostrzeżenie: (0%)
-----


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.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Get application name in Filter?
Go to the top of the page
+Quote Post
janek9
post
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 2
Dołączył: 22.03.2009

Ostrzeżenie: (0%)
-----


Cytat(LBO @ 27.02.2010, 23:39:21 ) *


Dziękuje LBO!!

Za mało szukałem:(

Pozdrawiam!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:31