Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [zend] jak poprawnie zabić zenda
MWL
post
Post #1





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


Witam, jestem naprawdę początkującym zendziarzem, chcąc się go lepiej nauczyć postanowiłem napisać sobie klasycznie - CMS'a. I teraz mam małą zagwostkę. W panelu administratora potrzebne będą uprawnienia, chcę to realizować za pomocą Zend_Acl które to będzie używane przez moją klasę umieszczoną w library (dokładniej Exulto_Controller_Admin). Zaczynam pisać i... Pojawia się problem. Chciałbym, jeśli użytkownik nie ma uprawnień pokazać mu komunikat żeby sobie stąd uciekł i zabić aplikację. Nie wiem tylko czy zabijanie Zenda za pomocą die() jest rozwiązaniem ładnym (wydaje mi się że zdecydowanie nie), ale jeśli sprawdzać to będzę za pomocą metody init() i w niej to wypiszę jakikolwiek tekst pojawi mi się on przed templatką. Oczywiście wyrzucenie wyjątku o błędzie powinno zakończyć działanie systemu, ale nie wiem jak zrobić to w "cywilizowany sposób", np. tak by templatka została obsłużona (header i footer się wyświetlił razem z tekstem) a sama akcja nie została wykonana. Jakieś propozycje dla laika?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Najlepiej zrobić to na Pluginie kontrolera (zapraszam do manuala) wtedy możesz łatwo zmienić akcję/kontroler/moduł i wtedy zostanie wyświetlona strona komunikatu o braku uprawnień a kod z akcji do której użyszkodnik chciał się dostać nigdy się nie wykona i nie musisz zabijać zend'a.

Ja osobiście cały Zend_Auth / Zend_Acl mam na pluginach, także cały startup aplikacji, jak się je dobrze zrozumie (kolejność wykonywania itp) można bardzo fajne rzeczy uzyskać.

Np.
Gdy użytkownik chce się dostać do zasoby gdzie musi być zalogowany zapewne przekierowujesz go na akcję logowania, w przypadku użycia pluginów nie musisz tego robić, wystarczy zmienić parametry requestu (action,controller,module) i wyświetli się strona logowania a po zalogowaniu wyświetli się strona do której chciał się dostać.
Go to the top of the page
+Quote Post
MWL
post
Post #3





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


A możesz mi jeszcze powiedzieć jak zrobić żeby z poziomu takiego pluginu przekierować kontroler i akcję na coś innego?
Go to the top of the page
+Quote Post
melkorm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Tu jest większość:

Zend-DevZone-Plugins

Ogólnie chodzi aby przed dispachem zmienić parametry Requestu (IMG:style_emoticons/default/wink.gif)

Ten post edytował melkorm 19.05.2011, 21:48:51
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 16:18