Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozwiązanie problemu z dostępem
mma
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.11.2007

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


Witam!
Od pewnego czasu poznaje mvc i natrafiłem na ciekawy tutorial na http://www.phpit.net/article/simple-mvc-php5/ .
Bardzo mi podeszło to co tam jest przedstawione - myśle, że na początek jest idealne. I, że będe to mugł (mvc) wykorzystywać jako podstawe w kolejnych aplikacjach PHP.

Ale do rzeczy, przechodząc przez ten tutorial - przerabiając cześciowo itp. , zastanawia mnie jeden fakt...
Jak zrobić dosęp do panelu administracyjnego , chciałbym to zrobić w ruterze no i właśnie, nie za bardzo wiem który z pomysłów wybrać.
Mam dwa pomysły na dzień dzisiejszy - jeden to sytuacja w którym sprawdzany jet czy podkatalog w sciezce jest katalogiem administracyjnym
np:
  1. <?php
  2. //$parts - cześci ścieżki np admin/index, admin =>[0] index=>[1]
  3. if ($parts[0] == ADMIN_FOLDER) {
  4. if (!($this->_registry->auth->isLoggedIn() && $this->_registry->user->isAdmin()))
  5. $this->redirect('index');
  6. }
  7. ?>

Powyższa sytuacja zdaje się być dobra gdy użytkownika zaogowany to admin i nikt więcej.

Drugie rozwiązanie to system praw zapisywanych/odczytywanych z bazy danych (zserializowana tabela).

W ruterze wykonywana by była funkcja mapująca (ja to tak widze) - sprawdzająca otrzymaje prawa z powiązaniami prawo - kontroler.

Jeśli ktoś się zastanawia o co mi chodzi, to chodzi o to czy ma ktoś jakies inne pomysły na rozwiązanie tego zadania, które można by tak w około >80% używać w przyszłości.
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sedziwoj
post
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


Ogólnie edycję bym rozdzielił od widoku... wtedy nie ma tego problemu.
Pojawia się natomiast gdy mamy nałożone ograniczenie na dostęp do np. artykułów, gdy użytkownik ma dostęp tylko do pewnej puli. Ponieważ można to dopiero zweryfikować mając dane artykułu.
Bo np. to co przestawił splatch ma pewną wadę pobiera dwa razy te same dane.
Można by było np.
- sprawdzanie ogólnego dostępu do akcji
- inicjalizacja, pobranie danych
- sprawdzenie dostępu do danych danych.

Ja to rozwiązywałem w kodzie akcji przez przekazanie odpowiednich danych do obiektu autoryzacji. Ale u mnie po prostu różne rzeczy (coś jak posty, komentarze, artykuły) mają wspólną grupę na której to podstawie jest dostęp ustalany.

Tylko się tak zastanawiam czy tworzyć abstrakcję (w tej metodzie co splatch proponuje) klas akcji z autoryzacją, czy mieć niezależny obiekt autoryzujący.

Bo np. jak ktoś nie ma dostępu, ładuje się tylko inny szablon, gdzie jest np. tylko tytuł artykułu i formularz logowania.
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: 9.10.2025 - 11:44