![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Cześć, chciałbym się dowiedzieć, czy idę w dobrym kierunku tworząc logowanie w Zend Frameworku. Tzn. ogólnie rzecz biorąc, czy to jest dopuszczalne takie logowanie i czy to będzie dobrze działać. Proszę o opinie oraz o dodatkowe pomoce, czy jakieś przykłady waszych logowanie lub szablony.
Ten post edytował in5ane 27.06.2009, 22:52:39 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 20 Dołączył: 20.04.2004 Skąd: Wielkopolska Ostrzeżenie: (0%) ![]() ![]() |
Raczej nie
Masz komponent Zend_Auth który się tym zajmuje. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 444 Pomógł: 79 Dołączył: 26.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
na pierwszy rzut oka ten kod nie jest odpowrny na sql injection
rzuc okiem na przyklady z manuala |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
W dodatku zapoznaj się z Zend_Form'em - odpadnie Tobie cała 'ręczna' walidacja i jak już koledzy wspomnieli Zend_Auth.
Kilka uwag: 1. Używasz Zenda, tak ? To dlaczego nie wykorzystujesz jego dobrodziejstw tylko piszesz wszystko na piechte - szczerze na peichte to byś to szybciej napisał bez Zenda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) 2. Zainteresuj się modelami i Zend_Db_Table i pobieranie danych wykonuj w modelu - po to został on stworzony. 3. Używając Zend_Db_Table razem z Zend_Formem odporny jesteś na SqlInjection. Sądze że to troche pomoże ... bo np. do loginu możesz dorzucić validator (używając Zend_Form'a) i już sam Zend sparwdzi czy login istnieje w bazie dancyh i w razie co wypluje sam błęda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (odrazy odsyłam do Zend_Translate - jest to opisane przy Validatorach jak tłumaczyć wiadomości rzucane przez Zenda). Ten post edytował melkorm 28.06.2009, 13:59:32 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Trochę nie zrozumiałem tego pierwszego zdania. Jeżeli użyję Zend _Form, to już nie muszę używać Zend_Auth?
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Zend_From używasz do stworzenia formularza, a Zend_Auth do logowania użytkownika.
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zend_form - obsluga formularzy, walidacja, itp.
zend_auth - obsluga autoryzacji jedno nie ma związku z drugim, ale oba mozesz uzywac jendoczesnie. jesli uzywasz ZendFramework, to jest to nawet wskazane, bys uzywal tych obu klas. Ale nadal kazda z nich sluzy do czego innego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Trochę nie zrozumiałem tego pierwszego zdania. Jeżeli użyję Zend _Form, to już nie muszę używać Zend_Auth? Zend_Form jak sama nazwa mówi służy do tworzenia formularzy. Do walidacji pól użyj dodatkowo Zend_Validation, który z łatwością integruje się z Zend_Form. A na sam koniec połącz to z Zend_Auth, który przeprowadzi odpowiednie sprawdzenie czy wprowadzone dane zgadzają się z tymi zapisanymi w serwisie. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Czy logowanie tego typu dobrze będzie (to dopiero początek):
AccountController.php:
index.phtml login.phtml
style.css Kod w stylach użyłem zf-label, zf-description oraz zf-errors Czy to co zacząłem jest dobrze? @edit: dopisałem zend_auth. W sumie wszystko działa, ale jak to wygląda od kodu, jest to dość poprawnie? Ten post edytował in5ane 1.07.2009, 11:48:59 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
czemu tworzysz klasę bazy w kontrolerze ?
nie lepiej w bootstrapie? potem zapisujesz ją np. w Zend_Registry::set('db', $db); i w kontrolerze odczytujesz $db = Zend_Registry::get('db'); bazę możesz również odczytać w taki sposób $db = Zend_Db_Table::getDefaultAdapter(); (oczywiście jeśli ustawiłeś wcześniej w boostrapie domyślny adapter bazy) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
OK, a tak to poza tym wszystkim dobrze i ładnie napisane?
Chciałbym się też dowiedzieć, jak za pomocą zend_form, mógłbym sobie ułożyć formularz wedle swojego uznania. Oraz chciałbym się dowiedzieć, jak mogę ustawić, żeby powiedzmy błędy nie pokazywały się pod danym polem, tylko każdy błąd nad formularzem. |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Od tego masz dekoratory.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Od tego masz dekoratory. Trochę średnio rozumiem to, z tej dokumentacji. Powiedzmy, że ten wygląd zrobię tak (jak jest tam):
Aha i gdzie mam umieścić ten plik dokładnie? Później chcę wykorzystać to do wszystkich pól, no to:
No i nic się nie dzieje, a ustawiłem dla testu, że przed każdym errorem powinno się wyświetlić jakieś "asdasd". Wie ktoś może jak dobrze używać tych własnych dekoratorów? Ten post edytował in5ane 5.07.2009, 13:25:13 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Ja wiem. Ale nie po to podałem Ci linka, byś teraz zawracał 4 litery i podbijał temat. Jeśli coś Ci nie działa, to użyj google, wpisz zend form decorator, poczytaj i dopiero potem zacznij marudzić. Kolego, no właśnie w tym rzecz, że szukałem i nic nie mogłem znaleźć, a że topic spadał sporo w dół, to go podbijałem, bo możliwe, że ktoś nie zauważył i mi dlatego nie mógł pomóc. Jeszcze spróbuję poszukać, ale jakby co, to proszę o pomoc. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
nie umiesz dekoratorów , nie rozumiesz manuala, to zrób inaczej, przeklej do tmpl to co ywpluwa Tobie Zend_Form dorzuć reportowanie błędów przez:
Wystarczy że ozstawisz dobre nazy pól inputów / forma i Zend_Form będzie działał tak smao jakbyś zrobił:
I teraz możesz sobie to normalnie stylwoac bez przeszkód. Szczerze nie odpowiadałem na ten wątek bo nie miałem czasu i troche chęci, troche ciężko co chwila komuś tłumaczyć manuala (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Ten post edytował melkorm 6.07.2009, 10:46:28 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
@up: właśnie mnie chodzi o to, aby ogarnąć te dekoratory. Ale z tego manuala, źle je zrozumiałem ;/
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ja sam nie używam dekoratorów (jeszcze nie zdażyło mi się użyc (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ), po stronie admina używam Zend_Form (przerobiłem go na własne potrzeby) normalnie, ale po stronie frontendu wpisuje ręcznie - o wiele łatwiej wtedy to ostylować.
A jak nie rozumiesz dekoratorów (imho jest krok po kroku napsiane co i jak) no to nie oczekuj od Nas że będziemy Tobie wszystko tłumaczyć (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jeżeli nie ogarniasz Zenda to daj sobie spokój i weź się za jakiś prostrzy framework bo Zend jest ciężki (może to troche za dużo powiedziane ...) ;] Ten post edytował melkorm 6.07.2009, 10:56:48 |
|
|
![]()
Post
#19
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
no właśnie w tym rzecz, że szukałem i nic nie mogłem znaleźć Pierwszy wynik - http://devzone.zend.com/article/3450trzeci wynik - http://bethgranter.wordpress.com/2008/04/2...tom-decorators/ Coś kiepsko szukałeś. Wszystko jest jasno i dokładnie opisane. Jedyne co trzeba zrobić to poszukać. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Dzięki. A mam pytanie, czy to logowanie, które napisałem jest już poprawne i zabezpieczone:
Aha i jeszcze jedno pytanko, bo z tego co wiem, to dzięki temu zend_auth można wypisać różnego rodzaju błędy. W jaki sposób się to tworzy? No bo ja mam tylko else, w którym jest napis, że logowanie nie powiodło się. |
|
|
![]()
Post
#21
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Dostajesz odpowiedni kod błędu. Dzięki, a ogólnie skrypt dobrze napisany? Wziąłem się teraz za zend_acl. Utworzyłem sobie kod (przy pomocy manuala):
I co ja teraz tak naprawdę mam z nim zrobić? Gdzie go wklepać? Jak sprawdzać role (typ) użytkownika? Proszę o nakierowanie, bo tego w dokumentacji nie było. |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
No ogólnie przejrzałem i ładnie jest opisane, ale nie zostało uwzględnione w jakich plikach mam to zawrzeć. Ja osobiście myślę, że trzeba to zawrzeć jakoś w bootstraperze, ponieważ on jest (tak jakby) dołączany do każdej podstrony. W moim skrypcie wszystko wygląda tak: IndexController (jedna podstrona) AccountController (logowanie, rejestracja) AnnouncementsController (wyświetlanie ogłoszeń, wyświetlanie poszczególnego ogłoszenie [podstrona w tej pierwsze podstronie), dodawanie ogłoszeń) AdminController (jedna podstrona z informacjami typu: bla bla bla, później będę rozbudowywał) ContactController (jedna podstrona) Swoje logowanie oczywiście mam w tym Account, i tam mam w indexAction sprawdzanie formularza i logowanie za pomocą Zend_Auth i domyślam się, że tam trzeba jakoś to połączyć z Zend_Acl. |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
No ogólnie przejrzałem i ładnie jest opisane, ale nie zostało uwzględnione w jakich plikach mam to zawrzeć. Ja osobiście myślę, że trzeba to zawrzeć jakoś w bootstraperze, ponieważ on jest (tak jakby) dołączany do każdej podstrony. Zastanów się przez chwilę. Jakie jest mapowanie ścieżek dla autoloadera? I zobacz http://code.google.com/p/zendframeworkstor...anches/chapters |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
No mapowanie ścieżek jest takie (przykład): Jakas_Tam_Sobie_Klasa <-- nazwa klasy i ścieżka, jakas/tam/sobie/klasaClass.php. Ale co mi to daje? Chciałbym się dowiedzieć jak mogę Zend_Acl zintegrować ze swoim systemem logowania.
W końcu wiem, że to (patrz niżej) trzeba umieścić w index.php (bootstraperze):
Co dalej muszę zrobić? Jakie pliki i gdzie utworzyć? Proszę o pomoce, nakierowanie - nie gotowce. Poczytałem jeszcze trochę i już więcej wykombinowałem: W library dwa pliczki:
oraz
i w bootstraper (index.php):
No i to ani nie popsuło strony, ani nie działa. Pewnie trzeba jakoś do tego acl wysłać role (typ) użytkownika (czy to użytkownik, czy to admin). @edit: poprawiłem ten drugi plik Acl.php, starałem się zrobić, żeby dostawał w sesji role i nazwę, no ale nadal coś nie śmiga mi to. Może teraz mnie ktoś nakieruje? Aha i dodałem też w logowaniu w kontrolerze:
No i i tak po każdej stronie można latać jak się chce ;/ Ten post edytował in5ane 8.07.2009, 18:50:32 |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego $privilegeName wyciągasz z sesji? To powinien być zasób (u Ciebie index, account itd.). Możesz wyciągnąć np. nazwę kontrolera z request object i wtedy porównywać. Ten post edytował omeck 8.07.2009, 21:39:33 |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Do końca nie wiem, jak ma działać ta instrukcja warunkowa (wiem, że musi zabronić danemu użytkownikowi dostępu do podstrony), była ona zawarta w kilku tutorialach, które czytałem (tyle, że w każdym trochę inna).
|
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Jeśli korzystasz z MVC, to do isAllowed przekaż kolejno parametry: rolę i zasób (w swoim systemie chyba nie chcesz sprawdzać bardziej szczegółowego dostępu np. do akcji, ale nie wiem :-))
U Ciebie w kodzie rolę chyba dobrze wyciągasz - z sesji użytkownika (zakładając, że ją dobrze przypisujesz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). W takim razie należy sprawdzić, czy dana rola ma dostęp do zasobu. Zasoby zdefiniowałeś chyba w index.php (Zend_Acl_Resource) oraz potem przypisałeś role do zasobów (metoda allow). Czy zasobami mają być nazwy kontrolerów? Jeśli tak, to coś takiego może Ci zadziałać:
pisane z palca, nie daje 100% gwarancji ;-) Metoda z 3 argumentami świetnie nadaje się np. do sprawdzania dostępu jakiejś roli do konkretnej akcji konkretnego kontrolera |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Dzięki, no ale nie blokuje nic ;/
Tzn. zawsze IF przejdzie bez niczego i wyświetli z niego treść itp.. (czyli to bla bla...) i każda podstrona jest dostępna dla gościa. Możliwe, że z tymi danymi w sesji jest problem. |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, no ale nie blokuje nic ;/ Tzn. zawsze IF przejdzie bez niczego i wyświetli z niego treść itp.. (czyli to bla bla...) i każda podstrona jest dostępna dla gościa. Możliwe, że z tymi danymi w sesji jest problem. Ale wchodzi Ci do if'a? Czy nigdy? Co w ogóle masz w if? Jeśli wchodzi, to musisz wewnątrz np. zrobić przekierowanie do jakiejś akcji logowania |
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
No wchodzi mi do IF, dodałem sobie tam dla testu echo 'asd'; i zawsze wyświetla (na każdej podstronie). Ale dodałem też echo $application->currentRole; i nie wyświetla tego, więc chyba będzie jakiś problem z sesjami.
|
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Czy w bootstrapie dałeś:
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Aha, w pluginie powinieneś odczytywać wartość sesji, a nie ją tworzyć ;-) Ten post edytował omeck 8.07.2009, 22:27:25 |
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Tak, dałem. Zobaczyłem też, jak na sztywno dałem w $roleName guest albo admin, to nadal ten IF cały czas działał. Najpierw trzeba coś zrobić z tym IF'em, później z sesjami (bo na razie w $roleName mogę na sztywno wpisywać).
|
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Tak, dałem. Zobaczyłem też, jak na sztywno dałem w $roleName guest albo admin, to nadal ten IF cały czas działał. Najpierw trzeba coś zrobić z tym IF'em, później z sesjami (bo na razie w $roleName mogę na sztywno wpisywać). No dobra, ale:
Gość ma dostęp wyłącznie do domyslnego modułu oraz zasobu index - przy każdym inny zasobie będzie Ci wchodził do If. Admin z kolei nie ma żadnych uprawnień... |
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
No dobra, wiem o co Ci chodziło, doszedłem do tego, że jest w sumie dobrze, poza sesjami, mój kod teraz wygląda tak:
Oczywiście muszę jeszcze te uprawnienia do podstron ustawić (do jakich podstron).
W tym ustawiłem na sztywno w tym IF'ie 'user' == '' oraz $roleName = 'user';. I to echo 'as'; przy tych parametrach user wyświetla mi tylko w podstronie admin, więc ogólnie to działa. Ale trzeba coś z tymi sesjami zrobić. Prawdopodobnie jest problem z ich wysłaniem. @edit: poradziłem sobie, dziękuje wszystkim za zainteresowanie. @edit2: chciałbym się jeszcze dowiedzieć jak zrobić, żeby np. announcements było dostępne dla guest, ale announcements/add już tylko dla user? Ten post edytował in5ane 9.07.2009, 05:57:21 |
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Możesz swój kod rozszerzyć w ten sposób (zakładam, że zasoby to nazwy kontrolerów?)
Więcej kodu, ale uzyskasz bardziej szczegółowa listę dostępu. Definiuj więc pozwolenia dla jakieś roli i zasobu, a w 3 parametrze podawaj tablicę akcji do których dana rola będzie miała dostęp. Wówczas musisz jeszcze zmienić plugin... muszę zaraz wychodzić, więc nie mam czasu na wyjaśnienie - zobacz mój, może Cię oświeci ;-) Smacznego!
Ten post edytował omeck 9.07.2009, 17:18:28 |
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Hehe, dzięki. Ale właśnie w tym samym czasie udało mi się to samemu osiągnąć. Ale dzięki za pomoc ;-)
@edit: Żeby nie tworzyć nowego tematu. Chciałbym się dowiedzieć czy to moje obecne logowanie (kod niżej) jest dobrze napisane i czy nie jest podatne na włamania (w szczególności sql incjection). Z góry dziękuję za zerknięcie w kod.
Ten post edytował in5ane 9.07.2009, 23:06:07 |
|
|
![]()
Post
#39
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Raczej jest ok, jeśli sam bezpośrednio nie wywołujesz zapytań z nieprzefiltrowanymi danymi to, klasy z "pakietu" Zend_Db w miarę je filtrują.
BTW nie byłoby Ci wygodniej (biorąc pod uwagę dalszy rozwój aplikacji przenieść inicjowanie Zend_Auth, adaptera bazy, a formularza do osobnej klasy? Sory, że się czepiam ;-) |
|
|
![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Raczej jest ok, jeśli sam bezpośrednio nie wywołujesz zapytań z nieprzefiltrowanymi danymi to, klasy z "pakietu" Zend_Db w miarę je filtrują. BTW nie byłoby Ci wygodniej (biorąc pod uwagę dalszy rozwój aplikacji przenieść inicjowanie Zend_Auth, adaptera bazy, a formularza do osobnej klasy? Sory, że się czepiam ;-) No spoko, że mi podpowiadasz. Adapter bazy już przeniosłem do bootstrapera. Inicjowanie Zend_Auth gdzie przenieść? A formularz, po co do osobnej klasy (nie wiem dlaczego, skoro to jest formularz tylko logowania)? |
|
|
![]()
Post
#41
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Inicjowanie Zend_Auth gdzie przenieść? A formularz, po co do osobnej klasy (nie wiem dlaczego, skoro to jest formularz tylko logowania)? W sumie niczego nie musisz przenosić, ale jeśli będziesz rozbudowywał aplikację, to wygodniej Ci będzie rozdzielić kod ;-) Ja mam np. Zend_Auth zainicjowany w bootstrapie:
Pluginek wcześniej wkleiłem. Moja klasa Acl_Access ustawia po prostu uprawnienia: role -> (kontroler, akcja) Dodatkowo stosuję kontroler, który zajmuje się wyłącznie logowaniem (ustawienie adaptera i proces logowania). Co do formularzy to każdy (prawie każdy) trzymam w osobnym pliku (klasie) dziedziczącej w Zend_Form, ale w sumie u Ciebie jak masz jeden form to może nie będzie trzeba tego robić. Jest na prawdę sporo rozwiązań - masz pełną swobodę, za co niezwykle cenię Zenda (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) Ten post edytował omeck 10.07.2009, 14:18:52 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 15:06 |