Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System uprawnień / priorytety
QN_fan
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 8.10.2006

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


Zastanawiam się jak rozwiązać priorytety w systemie uprawnień.

Myślę w ten sposób, każdy moduł ma swoją tabelę z uprawnieniami dla poszczególnych użytkowników / grup (w jednej). W ten sposób żeby wszystko mogło działać niezależnie i teraz możemy nadawać uprawnienia bezpośrednio dla użytkownika lub dla grupy, z tym że uprawnienia użytkownika mają największy priorytet, to znaczy przysłaniają uprawnienia grupy - chociaż nie wiem czy to dobre wyjście. Teraz tylko zastanawiam się jak rozwiązać sytuację gdy użytkownik należy do kilku grup o różnych uprawnieniach. Czy w pliku konfiguracyjnym modułów określić w jaki sposób mają być nadpisywane? Może tak da się też rozwiązać ewentualną sytuację nadpisywania uprawnień użytkownika przez uprawnienia grupy... przykładowo gdy z normalnego redaktora newsów który do tej pory mógł dodawać newsy i edytować tylko swoje robimy moderatora dodając go do odpowiedniej grupy chcielibyśmy nadpisać uprawnienia użytkownika. Tutaj kolejne pytanie, lepiej je nadpisać czy tylko przysłonić podczas ładowania?

Nie mam na myślę prostych uprawnień typu: admin - może wszystko i użytkownik - może to co inni; myślę o bardziej szczegółowych.

Macie jakieś pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
QN_fan
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 8.10.2006

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


Faktycznie usuwanie może stanowić swojego rodzaju problem, ale może rozwiążę to na zasadzie okresowego czyszczenia bazy np. przez crona, albo pierwszą wizytę Admina każdego miesiąca, albo będę indeksował kolejne moduły i przy usuwaniu po prostu każdy się odwiedzi.

Z zasadą o której mówisz też nie jest tak prosto, bo przykładowo do edycji artykułu są takie możliwości:
0 - nie można edytować
1- można edytować wszystkie
2 - można edytować swoje
3 - można edytować swojej grupy (moderator grupy)
No i teraz jedna grupa ma 1 a druga 3... W tym wypadku można by ułożyć je tak że np. te o wyższej wartości są przysłaniane przez te o niższej, ale nie wszędzie to załatwi problem, np. do podglądania ustawień osobistych:
0 - nie może
1- wszystkie
2 - tylko w swojej grupie
tutaj nie można przysłaniać bo wszystkie są potrzebne oddzielnie, a np. edycja recenzji artykułów:
0 - nie można
1 - można tylko swoich artykułów
2 - tylko artykułów grupy w której jestem modem
3 - wszystkich grup do których należę
4 - wszystkich recenzji
'username' - tylko tego użytkownika
No i w takim wypadku kolejny problem... bo albo trzeba pamiętać wszystkie uprawnienia wynikające z przynależności do kolejnych grup, no i ewentualnie dodatkowo ustawić że uprawnienie "4" nadpisuje wszystkie. Tylko kolejna sprawa jest taka że uprawnienie "3" może np. pojawić się w uprawnieniach użytkownika (nie grupy) a chcieli byśmy jedna żeby w jednej ze swoich grup go nie miał, więc zasłonienie nie bardzo jest wskazane. Wtedy np. ustawiamy że to uprawnienie ma większy priorytet niż uprawnienia użytkownika.

Trochę to zagmatwane, myślałem że ktoś już miał podobny problem.
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: 16.10.2025 - 02:47