Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Szukam] Użytkownik po zalogowaniu(Ograniczone edytowanie)
cfneon
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 11.04.2010

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


Witam. Szukam skryptu(lecz chyba takiego nie ma(ale co tam)).

Szukam czegoś takiego.
Mam zrobione konta użytkowników np. 10. I każde konto ma tam swój login i hasło.
I chodzi mi o to ,że np. ja rozsyłam pasy kont do ludzi. I np. wyśle takie pasy do pana X on wejdzie na strone i sie zaloguje na swojego użytkownika np. (zbychu1).
Po zalogowaniu będzie mógł tylko zedytować artykuł nr.1. i nic więcej.
Później będę chciał wysłać pasy do drugiego konta panu y. I też wyśle ,on się zaloguje tylko że on natomiast będzie mógł ze edytować tylko artykuł nr.2. i nic więcej.
Podsumowując chodzi mi o to żeby każdy użytkownik miał do swojego konta przypisany jakiś obszar który tylko on dowolnie może ze edytować.
Jeżeli ktoś kuma o co mi wgl. chodzi to prosiłbym o pomoc. Jeśli nie ma takiego skryptu to może jakieś tutki czy coś do stworzenia czegoś podobnego. Z górki thx.

Sry za nazwe tematu ale nie wiedziałem jak to nazwać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bartoland
post
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 10.04.2010

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


Jestem na etapie projektowania własnego frameworka i ostatnio mierzyłem się z tym problemem.

Generalnie sposób rozwiązania głównie zależy od architektury twojej strony i menu.
Ja rozwiązałem ten problem pisząc własny kod i jest on dokładnie dostosowany do mojego sposobu reprezentacji menu w strukturze bazy. W mojej bazie struktura menu reprezentowana jest w ten sposób, że każdy rekord menu ma jedną komórkę w której zapisuje id ojca. (Dodam, że zaprojektowałem możliwość tworzenia kilku poziomowego menu).

Rozwiązanie:
Początkowo rozwiązałem to w taki sposób: że każdy juzer miał w bazie przypisaną wartość id elementu od którego w strukturze menu w głąb miał prawo dokonać edycji.
Funkcja sprawdzająca uprawnienia działała następująco:
1. Sprawdzała czy przypadkiem nie masz uprawnień 0 - administrator - jeśli tak to zwracała true jeśli nie.
2. Sprawdzała czy zapisane id_menu od którego masz prawa edycji to nie jest przypadkiem te testowane menu jeśli było zwracała true, jeśli nie działa dalej przeszukując strukturę menu do góry czy któreś menu nie ma id zapisanego jako id_menu- uprawnień. Jeśli trafiało na to id to zwracała true a jeśli dotarła na samą górę menu i nie znalazła szukanego id zwracała false - brak prawa do edycji.

To było w pierwszej fazie dlatego pisałem w czasie przeszłym, bo szybko się okazało że dobrze by było żeby jednemu użytkownikowi można było przypisać prawa do kilku grup artykułów znajdujących się w kilku osobnych gałęziach drzewa menu.

Ja to rozwiązałem następująco:
Stworzyłem całkiem dodatkową tabelę w bazie przechowującą id użytkownika oraz id elementu menu od którego użytkownik ma prawo do edycji.
Funkcja sprawdzająca działała dokładnie tak samo jak opisana powyżej z tą różnicą że dla wszystkich elementów id_menu- pamiętajacych uprawnienia i mających id użytkownika z testowanym użytkownikiem.

Można by to rozwiązać jeszcze inaczej pamiętając w identycznej tabeli jak powyżej id użytkownika i wszystkie artykuły do których ma dostęp dany użytkownik. To jednak rozwiązanie może nawet szybciej sprawdzało by uprawnienia, ale wymagało by dodatkowego kodu przy tworzeniu artykułów do których kilka osób miało by dostęp. Należało by wszystkim tym użytkownikom dopisać w tej tabeli prawa do edycji dodawanego artykułu, oczywiście najpierw sprawdzić jacy to mieli by być użytkownicy. Dlatego zdecydowałem się jednak z tego rozwiązania zrezygnować.

Mam nadzieję, że pomogłem choć trochę,
Natomiast zastanawia mnie czy może da się to łatwiej rozwiązać. Zajmuję się programowaniem php od 2miesiecy i jeszcze dużo nie wiem. Jakby ktoś miał lepsze rozwiązanie z chęcią dowiem się jakie.
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: 6.10.2025 - 14:36