Brugrupper og adgang til sider

Tags:    php mysql

<< < 12 > >>
Hejsa.

Jeg er ved at arbejde på et system hvor jeg har adgang til alle mine dokumenter.
Det skal så også være muligt for andre i min familie at gøre brug af denne tjeneste, hvor de selvfølgelig kun kan se deres egne dokumenter.

Systemet indeholder omkring 15 forskellige undersystemer, men det er jo ikke alle der skal have adgang til dem.

Hvor laver jeg nemmest er brugersystem som holder i længden og som er nemt at administrere.

Jeg havde lidt i tankerne at have 3 tabeller (user, role, userole, (menu), (sider)
hvor user er den normale brugertabel, role indeholder id for rols og beskrivelse og userrole er en samling af id fra user og role.
I menu tabellen vil jeg så sætte role til det id som passer i role tabellen til dette menupunkt.
Men hvordan sikre jeg mig at de ikke bare indtaster adressen manuelt i url'en?
Skal jeg bare gøre det samme som jeg gør i menu tabellen?

Det er vigtigt at det er nemt at administrere, da min søster måske skal anvende systemet i forbindelse med hendes uddannelse og derved vil oprette en mappe som gør at hun kan dele filer med nogle gruppemedlemmer.

Håber der er nogen der kan hjælpe mig lidt på vej?



11 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Ta' et kig på Access Control Layer (ACL) koncept - det er mere eller mindre det du efterspørger... der findes allerede mange løsninger på dette som du evt. kan lure lidt af på... Zend, Symfony, CakePHP mfl. har også implementeret det.



Indlæg senest redigeret d. 27.10.2011 13:12 af Bruger #10216
Jeg kunne nu godt tænke mig at skrive det selv og ikke via et eller andet framework



Michael siger du kan lure lidt af, ikke bruge det, men tage ide ud fra det.



Jeg er ikke sikker på at jeg forstår det helt rigtigt, men skal det ikke være noget med at begrænse adgang for andre brugere, så den med eksempelvis det laveste ID har flest rettigheder?

Dette kan gøres nemt med php og MySQL, hvor du giver hver "bruger" et ID nummer, i en række kaldt "rank" eller noget i den stil.

Fold kodeboks ind/udPHP kode 




Nårh ikke helt.

Meningen er pt at jeg i min menu tabel ligger et id for den brugergruppe som har adgang til dette menupunkt (hvis brugeren så er tilmeldt denne brugergruppe så kan han se menupunktet.)
Nu kan han ikke trykke sig ind via et link - men den smarte vil hurtigt opdage man blot kan taste adressen manuelt. Det er det jeg gerne vil forhindre.
Så derfor ville jeg også lave en eller anden funktion der gør at hvis brugeren ikke er tilmeldt den påkrævede brugergruppe id så kan han heller ikke se indholdet (hvis han har tastet url'en selv).




Du kan kun hindre adgang hvis du checker for det. Altså er du nødt til på hver "url" at checke adgangen her til. Det vil du ikke kunne løse uanset hvilken form for adgangskontrol du benytter...



Okay... jeg tror selv jeg fandt en løsning på mit problem..




Så ville det være god stil lige at beskrive løsningen, Daniel. Så kan andre også få glæde af den, og dem der har forsøgt at hjælpe dig kan se om du har kunne bruge deres gode råd eller ej :)

Mvh.

Kasper (TSW)



Sorry min fejl Kasper.

Da jeg kører det hele i et dokument (index.php) så kan jeg jo bare lave en if userlevel er ok så må de se det ellers ikke..



Jeg håber at du har user level requirements i en database for de enkelte sider.

Ideelt set bør din index.php være kodet, så sider kan tilføjes, rettes og slettes uden, at du skal til at rette i koden i index.php.


At kode det direkte i index.php er let nok, men det bliver virkelig grimt efter et par sider.



Indlæg senest redigeret d. 01.11.2011 09:39 af Bruger #5620
<< < 12 > >>
t