W ostatnich wpisach z tej serii skupialiśmy się na zarządzaniu uprawnieniami pewnych grup użytkowników naszej aplikacji. Obszary dostępu to nic innego jak podział na dwie sztywne grupy posiadające [lub nie] dostępu do pewnych zabezpieczonych elementów systemu, zaś poziomy to tylko wykorzystanie abstrakcji do złożenia w jednym miejscu wielu obszarów. Opisując te sposoby “celowo zapominałem” o tym, że nie zawsze da się podzielić użytkowników na odpowiednie grupy, ponadto nie zawsze nadane uprawnienia muszą być sztywne - czasem chcemy np. dać dodatkowo jednemu zaufanemu użytkownikowi dostęp do statystyk witryny, albo przeglądania artykułów - wtedy musielibyśmy stworzyć albo oddzielny obszar albo nowy poziom, który notabene zburzyłby dotychczas istniejącą strukturę. Co zrobić z takim problemem?

Wstęp.

Oczywiście potrzebujemy jeszcze innego, nowego systemu zarządzania uprawnieniami, który pozwoliłby na zachowanie istniejących zysków i przy okazji wyeliminowałby słabości tych, które testowaliśmy do tej pory. W szczególności powinien umożliwiać:
  • nadawanie indywidualnych uprawnień
  • nadawanie grupowych uprawnień
  • reagować na fakt posiadania uprawnienia przez użytkownika lub przypisanej mu grupy
Drodzy Czytelnicy, oto przed Wami najnowszy cud techniki - macierze uprawnień! Ale nie wyprzedzajmy zbytnio materiału - wszystko ma swoją kolej. ;]