Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [zendFramework] proste logowanie, prośba o naprowadzenie :D
eS...
post
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


Witam
Na początku mój kod http://forum.php.pl/index.php?showtopic=60104
Wszystko działa elegancko ale:
Jak/gdzie moge sobie wstawić kod ze sprawdzaniem sesji użytkownika (czy zalogowany czy nie). Nie mam pojęcia w którym miejscu w się to robi, czy w kontrolerze czy w modelu czy może w widoku?

Proszę o naprowadzenie gdzie mogę to ugryźć.
Szukałem w manualu zenda ale nic nie znalazłem (czyt. przykładu dla opornych)

Może mam sprawdzić sesje w indexAction? ta akcja jest wywoływana w moim przykładzie za każdym razem

  1. <?php
  2. function indexAction()
  3. {
  4.  //Rejestrujemy widok
  5.  $view=Zend::registry('view');
  6. $_SESSION['user']=0;// dal przykładu (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
  7. if($_SESSION['user']==0){
  8.  $view->title = "error";
  9. echo $view->render('indexIndex.tpl.php');
  10.  }else{
  11.  $view->title = "My album";
  12. echo $view->render('indexIndex.tpl.php');
  13.  }
  14.  
  15. }
  16. ?>

To niby działa ale tylko na akcje index, i musiałbym wstawiać to w każdej akcji. Więc odpada, pozatym raczej marnie to wygląda

Ten post edytował eS... 14.01.2007, 02:07:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
raikou
post
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 25.11.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Tak jak zostało powiedziane, użyj pluginu dla FrontController'a (na dobrą sprawę jest to implementacja wzorca Intercepting Filter).

Przykładowy plugin:

  1. <?php
  2. require_once 'Zend/Controller/Plugin/Abstract.php';
  3.  
  4. class My_Controller_Plugin_Authorization extends Zend_Controller_Plugin_Abstract
  5. {
  6. public function preDispatch($request)
  7. {
  8. // uwierzytelnienie
  9. // preDispatch z wiadomych względów
  10. }
  11. }
  12. ?>


a w głównym pliku strony:

  1. <?php
  2. $controller->registerPlugin(new My_Controller_Plugin_Authorization());
  3. ?>


Ten post edytował raikou 14.01.2007, 14:12:33
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 04:44