![]() |
![]() |
![]()
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?
|
|
|
![]() |
![]()
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ć. |
|
|
![]()
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?
|
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 16:18 |