Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/ZEND/AUTENTYKACJA] Jak to się robi?, czyli sprawdzenie czy jest ktoś zalogowany + ajax
juzwa
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


może na początek co jest zrobione -
1)logowanie i zapisywanie danych z logowania do sesji
jest to ściągnięte z przykładu z sieci

2)jak się dostać do tego co jest w sesji
$_SESSION['Zend_Auth']['sender'](jest to obiekt)[dane z wiersza]

próbowałem Zend_Session_Namespace['Zend_Auth'] - ale niestety nie działa
próbowałem różnych kombinacji, ale nie wyszło - dlatego też robię na razie "po staremu"
$x = $_SESSION['Zend_Auth']['sender'];
$x->id_usr(czy czego tam potrzebuję)

ale jak się do tego dostać po zendowemu

3)jak dla mnie najpoważniejsza część, do której nie mam pojęcia jak się zabrać
otóż po zalogowaniu jest tam pobieranie uzupełnianie czegoś bez przeładowania strony - wiadomo o co chodzi - i teraz jest problem, tego typu, że chciałbym aby przy żądaniach ajaxowych pojawiał się div z informacją np SESJA wygasła i gdzieś location.replace("strona logowania");
dodatkowo chcę załatwić także obsługę "normalnych" czyli nieajaxowych żądań - czyli klikam na "TYLKO ZALOGOWANI" a on mnie przekierowuje na stronę logowania

kiedyś napisałem sobie coś na kształt frameworka - działało to na zasadzie XML-a i tam był dla żądania atrybut check="normal" check="ajax" - i w zależności od tego atrybutu rozdzielałem tak jak chciałem

a jak to się robi po zendowemu?

jak "oznaczyć" żądanie że jest ajaxowe i że zamiast zwyczajnego "redirect" ma być przekierowanie na akcję, która generuje javascricp potrzebny do przerzucenia na stronę logowania?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
tomek_
post
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 4
Dołączył: 6.11.2008
Skąd: Bytom

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


Nie napisałeś w jaki sposób zrobiłeś "ogowanie i zapisywanie danych z logowania do sesji"

ja mam kotroler który dziedziczy po Zend_Auth, żeby się potem dobrać do odpowiednich danych 

wystarczą takie metody

  1. <?php
  2.   $auth = My_Auth::getInstance();
  3.  
  4.   $auth->hasIdentity(); // sprawdza czy zalogowany
  5.  
  6.   $auth->getStorage()->read(); // pobiera dane z sesji<
  7. ?>


w ten sposób sprawdzam czy żadnie było ajaxowe

  1. <?php
  2. if($this->_request->isXmlHttpRequest())
  3.  
  4. { //żądanie ajaxowe
  5.  
  6. }
  7. ?>


jeśli chodzi o wymuszenie logowania to w kontolerze po którym dziedziczą wszytkie moje kontrolery mam coś takiego

  1. <?php
  2.  
  3.  abstract class My_Controller_Action extends Zend_Controller_Action  
  4.  {
  5.   
  6.      public function preDispatch() 
  7.      {
  8.          $module     = $this->_request->getModuleName();
  9.          $controler     = $this->_request->getControllerName();
  10.          $action     = $this->_request->getActionName();
  11.  
  12.          if(My_Page_Config::getInstance()->isLoginRequired()===true && ($module!="default" && $controler!="login"))
  13.          {//jeśli wymagane logowanie a uż  niezaologowany przekierowanie do strony logowania
  14.              if(!My_Auth::getInstance()->hasIdentity())
  15.                       $this->_redirect("login/form");
  16.          }
  17.  
  18.      }
  19.   
  20.  }
  21.  
  22.  
  23. ?>


--------------------
Dysortografik -> nie besztać za błędy ;P

pomogłem ? -> kliknij "pomógł" ;)
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: 21.08.2025 - 14:46