Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MVC, gdzie wywołać metodę sprawdzania logowania?
Forum PHP.pl > Forum > PHP
adrianpl20
Witam. Piszę logowanie w MVC, ale nie mam pojęcia gdzie zainicjować, by po wejściu na stronę sprawdzało czy user jest zalogowany (jesli tak to przedłuża sesję). Wszystkie metody od sprawdzania logowania i ustawiania mam gotowe, ale nie wiem gdzie zainicjować metodę checkUserLogged(). Te metody, mam w controllerze user, który jest wywoływany tylko po wejściu na podstronę Logowanie albo Rejestracja. Próbowałem wywołać ten controler w bazowym controlerze, ale pokazało błąd z pamięcią... Próbowałem też w głównym pliku index.php, ale to chyba nie byłby dobry pomysł, i nie mogłem przesłać stąd zmiennej logged do widoku. Gdzie mam zainicjować to sprawdzanie sesji użytkownika? Proszę o wskazówki.

Z góry dziękuję za pomoc.
markuz
Utwórz klasę kontrolera głównego np.

  1. class Controller {
  2.  
  3. public function checkUserLogged() { }
  4.  
  5. }
  6.  
  7. class User extends Controller {
  8.  
  9. public function test() {
  10. $this->checkUserLogged();
  11. }
  12.  
  13. }
  14.  
  15. $user = new User();
  16. $user->checkUserLogged();
adrianpl20
pokazuje tylko zmienne z widoku, z controlera żadnych...
do widoku nie moge przesłać zmiennych, bo to logowanie sprawdzam przed wczytaniem widoku
Turson
Korzystasz z jakiegoś fw czy piszesz własny? Bo każdy sensowny fw ma jakieś zautomatyzowane metody autoryzacji
adrianpl20
Obecnie ćwicze obiektowe pisanie i wzorzec MVC, na razie bez frameworka.
Crozin
1. MVC to wzorzec architektoniczny, nie projektowy, więc nie ma jednej konkretnej odpowiedzi na to "co, gdzie, jak konkretnie". Co więcej autoryzacja i uwierzytelnianie są poza "kompetencjami" tego wzorca.
2. Wspomniana autoryzacja i uwierzytelnianie są z reguły na tyle integralną częścią systemu, że jakiś przykładowy sposób ich realizacji będzie skutkował wymuszeniem konkretnego działania połowy architektury aplikacji.
3. Użytkownik bez odpowiednich uprawnień nie powinien w ogóle zostać dopuszczony do warstwy kontrolera - te nie powinny się w ogóle takimi sprawami interesować (przynajmniej na tak ogólnym poziomie), inaczej powstanie bardzo zaśmiecony kod.
4. Sprawdzanie uprawnień następuje w wielu różnych momentach życia żądania wewnątrz aplikacji, więc będziesz potrzebować jakiegoś całościowego rozwiązania - a to już niejako ciągnie za sobą pół FW.

Cytat
Obecnie ćwicze obiektowe pisanie i wzorzec MVC, na razie bez frameworka.
Zainteresuj się jednak jakimś FW. Dużo szybciej nauczysz się pożytecznych rzeczy nie wyrabiając sobie jakiś specjalnie złych nawyków. Pisać samemu póki co nie masz potrzeby, bo na dobrą sprawę nawet nie wiesz "co, jak i po co".
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.