Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: stormfly, dodany: 25.10.2008 11:29, tagi: sql

Czas płynie nieubłaganie, a jakiekolwiek nadzieje, że będzie trochę więcej czasu przy skończeniu kolejnego projektu rozwijają się bardzo szybko. Obiecałem sobie jednak, że postaram się umieszczać przynajmniej jeden wpis na miesiąc, aby mój blog nie podzielił losu innych...

Autor wpisu: widmogrod, dodany: 17.10.2008 01:14, tagi: php, eclipse

PHP Development Tools w wersji 2.0 ujrzy światło dzienne 29 grudnia 2008 roku, ale to mi nie przeszkadza by pracować na wersji rozwojowej (:.Poniżej przedstawiam przetłumaczony poradnik instalacji PDT2.0 na najnowszej wersji mojego ulubionego IDE Eclipse.Pobieramy i rozpakowujemy Eclipse IDE for Java EE Developers (162 MB) do wybranego katalogu.Do pełni szczęścia brakuje nam jeszcze trzech paczek.
  1. DLTK (Integration) link bezpośredni do paczki
  2. PDT2.0 (2.0.0 Integration Builds) link bezpośredni
  3. WTP (tą paczkę sugeruję pominąć, bo w Java EE już jest!)
Powyższe paczki rozpakowujemy i dodajemy do managera pakietów
  1. Help > Software Updates... > Available Software
  2. Add Site... > Local > dodajemy katalog rozpakowanego pakietu DLTK
  3. Add Site... > Local > dodajemy katalog rozpakowanego pakietu PDT2.0
  4. Add Site... > Local > dodajemy katalog rozpakowanego pakietu WTP
  5. Gdy odświeżenie listy pakietów nie wykona się automatycznie - wciskamy "Refresh"
  6. Zaznaczamy pakiet the "Dynamic Languages Toolkit - Core Frameworks .."
  7. Zaznaczamy pakiet "PDT Feature"
  8. Zaznaczamy "WTP Feature" (jeżeli jeszcze nie jest jest zainstalowany)
  9. Klikamy "Install"
Gdy wszystko przebiegnie pomyślnie uruchamiamy ponownie Eclipse i mamy PHP Development Tools w wersji 2.0 :). Teraz tylko New PHP Project i zabawa się zaczyna (:.Uwaga na koniec, w Eclipse Ganymede w okienku "Software Updates" jest możliwość wpisywania nazw pakietów należy w tym polu wpisywać pełne nazwy pakietów do instalacji a nie ich akronimy tj. zamiast DLTK należy wpisać Dynamic Languages Toolkit

Autor wpisu: Athlan, dodany: 02.10.2008 23:21, tagi: php

Denerwujące jest, że na niektórych portalach:

  • nie ma automatycznego przekierowania do strony wymagającej autoryzacji po zalogowaniu się,
  • w adresie strony jest parametr typu back_url=/bardzo/glugi/parametr/ze/czasem-to/wogole/szok.html

Ostatnio programując sklep internetowy zastosowałem najprostszą technikę, która uwzględni oba powyższe punkty. W moim przypadku, gdy kontroler wymaga zalogowania się, warstwa ACL wskazuje na kontroler logowania (w zależności od konfiguracji). Natomiast URL zostaje, tj:

http://example.com/konto/dodaj-produkt.html

Pierwsze co trzeba zrobić, to sprawdzić, gdzie jest użytkownik. Jeżeli wywołujemy kontroler logowania pod powyższym adresem, trzeba porównać aktualny url do adresu logowania. W moim przypadku adresem logwania jest:

http://example.com/zaloguj.html

Aktualną pozycję użytkownika możemy sprawdizć w zmiennej $_SERVER['REQUEST_URI'], a adres logowania mamy z góry ustalony w naszej aplikacji. U mnie za adresu odpowiada router, stąd poniższy przykład przekierowania do strony logowania:

if(($sReq = $_SERVER['REQUEST_URI']) != ($sUrl = Vframe_Router::Route(’auth_login’))) { $this->_oUser->login_backlink = $sReq; return $this->_redirect($sUrl); }

UWAGA! Jeżeli przekierowujemy użytkownika do strony logowania, zamiast $_SERVER['REQUEST_URI'] sprawdzamy $_SERVER['HTTP_REFERER'].

Metoda _redirect to nic innego, jak wysłanie header Location. Dodatkowo do sesji użytkownika zapisuję adres, z którego użytkownik został przekierowany do strony logowania. Bardzo ważne jest to, żeby zapisać lokalizację tylko wtedy, gdy adres nie wskazuje na URL logowania, bo użytkownik po zalogowaniu zamiast powrócić do przegladanej strony, wróci do podstrony logowania.

Tuż po autoryzacji ustawiamy w sesji login_backlink na null, aby w przyszłości, gdy użytkownik wejdzie bezpośrednio na podstronę logowania, nie został odesłany do zapamiętanej wcześniej lokalizacji.

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.