Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Warunkowy ACL, czy ja to dobrze rozumiem
mrok
post
Post #1





Grupa: Zarejestrowani
Postów: 258
Pomógł: 17
Dołączył: 22.05.2007

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


Pracuję nad systemem do zarządzania firmą, który nie będzie sprzedawany w pudełku, ale każdy chętny będzie sobie mógł założyć konto i w obrębie jego pracować (dostęp przez www).

Implikuje to nałożenie ograniczeń do zasobów, tak aby user z firmy X nie mógł przeglądać dokumentów z firmy Y.

Dotychczas poprzednicy napisali w tym celu sporo metod rozrzuconych po modelach i kontrolerach - ogólnie lekki burdel.

Chciałbym trochę tego posprzątać i tę logikę przenieść do "warunkowych ACLi"

np
  1. $acl = new Zend_Acl();
  2. $acl->allow('owner', 'document:list', 'show', new CompanyAssertion());


Czy ktoś podziela taki pomysł (może powinienem zrobić ankietę)? Podobno poprzednicy to byli prawdziwi ninja i zastanawiam się czy przypadkiem nie próbuję wynaleźć koła na nowo.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mrok
post
Post #2





Grupa: Zarejestrowani
Postów: 258
Pomógł: 17
Dołączył: 22.05.2007

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


Cytat
Jeśli wszystko jest oparte o bazę danych to sprawdzaj czy user należy do danej firmy jeśli tak może przeglądać i pobierać dane.

Oto właśnie chciałem zapytać - gdzie najlepiej to sprawdzić?

Przecież user może sobie spokojnie zmienić w linku
www.blebleble.pl/x/y/z/doc_id/7 na np www.blebleble.pl/x/y/z/doc_id/8

ACL wg Ciebie powinien to puścić ponieważ user ma prawo do przeglądania, edycji, etc. dokumentów

Teraz w modelu dokumentu należałoby dodać jakieś metody które sprawdzają czy user może przeglądać, edytować, usuwać, wysyłać etc.
Mnóstwo sprawdzania zależnego od kontekstu usera, na dodatek trzeba by taką metodę (canEdit, canDelete) wywoływać ręcznie i tu każdy może sie pomylić (albo co gorsza zapomnieć).

Nie ma ciekawszych rozwiązań? Niekoniecznie opartych o ACLe
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: 4.10.2025 - 11:00