Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MVC][CI] Dostęp do zasobu, Czy zalogowany może zobaczyć dany wpis
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Sam nie wiem czy podchodzi do pod ACL ale ogólnie nie czuje potrzeby wydzielania warstwy dostępu dlatego chciałbym w prosty sposób weryfikować czy zalogowany użytkownik może zobaczyć np. dany wpis w bazie.

Przypuszczając, że w sesji mam ID zalogowanego, a wpis w bazie ma kolumnę z właścicielem (twórcą).
Aby utrudnić sprawę przyjmuje, że dostęp do wpisu ma też np. administrator.

No i teraz pytanie jak to kontrolować? Kontroler?
Praktycznie za każdym razem mam jakiś inny pomysł.

Od strony modelu:
Przykładowo gdy tworzę metodę "getWpis" dodaje dodatkowy parametr na ID z wartością domyślną NULL.
Gdy wartość ta nie jest NULL dodaje do zapytania WHERE z weryfikacją autora.
W przypadku gdy metoda jest użyta np. w panelu admina parametru nie przesyłam albo wysyłam NULL.
Sposób jest w miarę ok choć zawsze mam obawy, że jakiś użytkownik wywoła metodę z parametrem NULL - przykładowo gdzieś zapomnę weryfikować czy użytkownik jest zalogowany tym samym brak ID zalogowanego.

Robienie dodatkowej metody weryfikującej czy dany user ma dostęp do zasobu wydaje mi się czasochłonne.

Nie zależy mi na wyświetlaniu wyjątku iż nie ma dostępu do danego wpisu tylko po prostu brak elementu (powyższy sposób spełnia te założenie).

Jakieś porady? (korzystam z CI ale ten problem w sumie wraca dosyć często, nawet z strukturalnych aplikacjach).

Ten post edytował markonix 21.10.2012, 15:04:07


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 12:09