This post comes from the first version of this blog.
Please send me an email if anything needs an update. Thanks!
Każdy, kto zajmuje się programowaniem stron internetowych w zakresie szerszym niż tworzenie szablonów w HTMLu na pewno zetknął się z problemem zarządzania tym, co mogą i czego nie mogą użytkownicy danego systemu. Oczywiście nie mam nic do grafików i im podobnych, bardzo szanuję ich pracę jako człowiek dotkliwie pozbawiony zdolności plastycznych ;], jednak w tym artykule zamierzam skupić się na zgoła innym temacie, jakim jest problem nadawania i obsługi uprawnień w aplikacjach internetowych. Jest to dosyć ważne zagadnienie, ponieważ od niego bezpośrednio zależy bezpieczeństwo naszego skryptu. Idealną sytuacją byłaby taka, w której nasi użytkownicy wiedzieliby, jaki jest zakres ich uprawnień i nawet pomimo udostępnienia niektórych funkcji, w swojej uczciwości nie mieli by nigdy zamiaru utrudnienia życia mającym i bez tego dużo pracy programistom. Jeśli użytkownicy Twojego systemu spełniają te założenia, śmiało możesz zakończyć czytanie na tym zdaniu. ;] Wszystkich, którzy jednak nie mają takiego szczęścia, zapraszam do lektury niniejszego artykułu, w którym opiszę systemy zarządzania uprawnieniami o jakich słyszałem / czytałem, bądź z których sam korzystał[em].
Zagadnienie jest dosyć szerokie, w związku z czym trudno jest dokonać dobrej i szczegółowej analizy wszystkich możliwości - artykuł zostanie więc rozbity na kilka części, z których każda skupi się na jednym z poniższych rozwiązań:
- uprawnienia ze względu na typ użytkownika / obszar dostępu.
- uprawnienia ze względu na poziom użytkownika w hierarchii.
- uprawnienia korzystające z tzw. "macierzy uprawnień".
Jeśli już teraz macie jakieś pomysły dotyczące rozwinięcia tematu / rozszerzenia listy o kolejne pozycje, proszę o komentarz do tego posta. Nie jest to jednak warunek konieczny, jak zawsze zapraszam wszystkich do podzielenia się swoimi spostrzeżeniami. ;]