![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 1.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Opieram swój FW na zasadach MVC, jestem przy budowaniu panelu administracyjnego dla wielu aplikacji... Panel jest sam w sobie aplikacją z własnym kontrolerem który powinien wczytywać tylko metody wybranej aplikajci. Jednak jak zrobić np. listę metod które mogą być używane w panelu? Mam ACL i to na jego podstawie odczytać wszystkie metody?
I gdzie ACL powinien być sprawdzany? W kontrolerze czy w routingu? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
I gdzie ACL powinien być sprawdzany? W kontrolerze czy w routingu? W modelu, zgodnie z wzorcem MVC kontroler przekazuje dane z modelu do widoku. A routing odpowiada za dopasowanie adresu do kontrolera i metody a nie do sprawdzenia uprawnien. Zrób sobię jakąś metodę która będzie wywoływana przed wywoływana przed akcją i tam wywołaj model ze sprawdzeniem dostępu w zend taka metoda to preDispatch (jeżeli dobrze pamiętam) a w kohanie before -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Masz 3 wyjscia:
-Konstruktor/__call -Hooki/Eventy -Dispatcher(front controller) Ja uzywam 1 i 3 metode bo system zdarzen uzywam do czegos calkiem innego -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 1.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
marcio a mógłbyś rozwinąć wątek? Bo nie rozumiem jak __call ma mi ułatwić porozumienie panel <=> inna_aplikacja. I jak zbudować listę dostępnych opcji w panelu, właśnie na bazie ACL?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Co do acl-a http://marcio.ekmll.com/Vf/index.php/474 klase troche przebudowalem ale ogolnie logika jest taka sama.
Co do __call normalnie masz 2 rozne kontrolery czyli ten publiczny i ten dla administratora robisz __call i wykonujesz akcje -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 1.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
ACL mam już zaimplementowany, podobny do tego co pokazałeś tylko na tablicach...
Jednak nie rozumiem tego wykorzystania __call() Aplikacja1 ma swój kontroler "aplikacja" i w nim odpowiednie metody. Panel ma też swój kontroler "panel", bo jest osobną aplikacją i również ma swoje metody... więc jak to ma być ze sobą połączone przez __call? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Bede musial poszukac to podesle kod ja tego nie implementowalem ale jak przegladalem aplikacje na google code/github to sie spotkalem tez z takim mykiem
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 1.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok. poczekam. I jesteś pewien że to było realizowane przez __call? Bo jakoś ta funkcja mi do tego nie pasuje.
edycja: Na razie zrobiłem (chyba dobrze) coś w rodzaju sterownika app<>panel w kontrolerze panelu, gdzie zapisuję do zmiennej nazwę aplikacji i na tej podstawie tworzę nowy loader podający SPL podający ścieżkę do tejże aplikacji i na razie udaje mi się bez problemy odczytywać model, jeszcze sprawdzę czy wszytko działa poprawnie z wysyłaniem danych itp. ale powinno być ok... jak ktoś ma jakieś pomysły dotyczące obsługi wielu aplikacji z jednego panelu to z chęcią wysłucham. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 10:18 |