![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 897 Pomógł: 40 Dołączył: 16.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
kombinuję dzisiaj z Zend_Auth i coś mi nie idzie... Chciałbym, żeby oprócz standardowego sprawdzania nazwy i hasła w bazie spełniony był również warunek 'active = TRUE'. Mam kod z manuala, ale nie działa, logują się nieaktywowani użytkownicy... Niżej mój kod. Wszystko jest ok, tylko zupełnie ignorowany jest warunek... Będę wdzięczny za pomoc.
-------------------- how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
kiedyś w jednym skrypcie zrobiłem coś takiego, może Ci pomoże ten kod
w pluginie tworzysz funkcję preDispatch, w niej pobierasz uprawnienia usera z bazy, tworzysz tablicę z tych uprawnień, następnie sprawdzasz czy wywołany controller znajduje się w tablicy, jeśli nie to obsługujesz błąd. kod nie jest doskonały, ale działa ![]() Kod public function preDispatch(Zend_Controller_Request_Abstract $request)
{ $m = $request->getModuleName(); $c = $request->getControllerName(); $session = Zend_Registry::get('session'); $acc = $session->acc; // to jest wiersz pobrany z bazy danych przy logowani, a następnie zapisany w sesji, kolejne kolumny a1,a2.. mają wartość 0 lub 1 $allow = array(); if ($acc['a1']) $allow[] = 'news'; // news to controller do którego albo ma dostęp albo nie ma dostępu if ($acc['a2']) $allow[] = 'polls'; if ($acc['a3']) $allow[] = 'pages'; if ($acc['a4']) $allow[] = 'album'; if ($acc['a5']) $allow[] = 'regards'; if ($acc['a6']) $allow[] = 'comments'; if (!in_array($c,$allow)) { $request->setControllerName('error'); $request->setActionname('error'); throw new Exception('', 403); } } Ten post edytował pgrzelka 22.05.2009, 16:24:36 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 01:25 |