A.L.E.C napisał(a):
2. System uprawnień powinien być modułem. Z tego co się zorientowałem, to jest możliwe. Wystarczy go wywoływać jako pierwszą akcję ustawiając bindings na 'pre/code:header' (baseciq wie o czym mówię ;)) lub (przy okazji) zdefiniować akcję core/init i do niej dowiązywać.
tutaj poprawka, wystarczy oczywiście dowiązanie do pre/*:*
Ponadto lekka modyfikacja pętli foreach w index.php, aby można było usunąć akcje ze stosu. Moduł działałby w ten sposób, że po prostu przeleci listę akcji w stosie i usunie z niego te do których użytkownik nie ma uprawnień (wraz z templejtami).
dodatkowo powinien usunąć dane o tych akcjach z _MODINFO, aby core/menu ich już nie widział.
Problem mam tylko z wymyśleniem ładnego i przede wszystkim szybkiego i uniwersalnego sposobu na zapis uprawnień w bazie danych (i późniejsze ich sprawdzanie). Na pewno nie tekstowo nazwy akcji/modułów. Ale w jaki sposób? Nadać każdemu modułowi unikalny identyfikator lub po prostu numer i każdej akcji w module także? Ma ktoś pomysły?
to może taka propozycja create table rights ( userid integer NOT NULL default 0, moduleid integer NOT NULL default 0, actions text NOT NULL default '', UNIQUE KEY (userid, moduleid) ) kolumna 'actions' przechowywałaby listę identyfikatorów akcji z danego modułu, wymagałoby to dodania w modinfo.php, unikalnych identyfikatorów dla modułu i (unikalnych w obrębie modułu) identyfikatorów każdej akcji. Przy czym identyfikatory, myślę, że mogą być po prostu liczbami całkowitymi. Ewentualnie wymyślić jakiś specjalny format dla ID modułu. -- Aleksander 'A.L.E.C' Machniak - http://alec.pl gg:2275252 LAN Management System Developer - http://lms.rulez.pl
uczestnicy (1)
-
A.L.E.C