AxZx
17.10.2006, 19:52:35
witam
jak mozna by zrobic aplikacje gdzie jest kilka typow uzytkownikow i kazdy dodaje i edytuje jakies okreslone dla konkretnego typu dane?
przykladowo mam
modelka
fotograf
stylista
baze danych podzielilem na 5 tabel:
uzytkownik, osoba, modelka, fotograf, stylista
wszystkie typy maja wspolne dane ktore zapisze w uzytkownik i osoba, a inne pola zapisze w tabeli dla konkretnego typu osoby.
a jak z aplikacja?
jak to zrobic dynamicznie? np przyjdzie mi do glowy za miesiac ze mozna dodac jeszcze fryzjerke, wizazyste itp
macie jakas koncepcje?
dr_bonzo
17.10.2006, 19:56:13
RBAC -- role based access control
Robisz grupy: fryzjer, stylista itc. Kazdej przypisujesz uprawnienia: edycja_czegostam, usuwanie_czegos_innego. Przypisujesz userow do grupy. I potem sprawdzasz przy wykonywaniu akcji czy user ma dane uprawnienia.
Mozesz to sobie potem skomplikowac -- przynaleznosc do wielu grup, sumowanie uprawnien itd.
AxZx
17.10.2006, 20:12:12
podsunales mi pomysl ale w innej sprawie, np dodawanie zdjec, ktora grupa jakie zdjecias i ile moze wrzucac itp warunki.
ale jak zbudowac aplikacje zebym mogl latwo dodac nowy typ uzytkownika?
rozumiem ze moglby byc obiekt nadrzedny ktory odpowiadalby za edycje wspolnych danych uzytkownika.
ale nie umiem zbytnio tego rozpisac w php.
chyba za duzy poziom abstrakcji na tym poziomie edukacji.
jakies przyklady aplikacji?
dr_bonzo
17.10.2006, 20:20:06
Tabele: user, uprawnienia, grupy, grupy_uprawnienia
i przy zalozeniu ze user nalezy do jednej grupy:
user (*)-----(1)grupy(1)---(*)grupy_uprawnienia(*)---(1)uprawnienia
zrob to na bazie danych. nowa grupa to nowy rekord w tabeli grupy, przypisanie jej uprawnien to nowy rekord w grupy_uprawnienia, nowy typ uprawnien to nowy rekord w tab. uprawnienia.
AxZx
17.10.2006, 21:58:11
aha, w ten desen
ale chodzi mi o rozne dane, modelka bedzie miec biust, talia, wzrost
a fryzjer jakies inne bajery
jak takie cos zrobic?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.