Has permission class (Hoe doen jullie dat?)

Gestart doorRobertt3 reacties14 weergaven

4 berichten · pagina 1 van 1

Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallow,

Ik ben bezig met een login systeem, die is zo goed als af maar het moet ook een goed beheer gebeuren natuurlijk bij. Maar ik dee vroeger altijd rank 5 = admin en dan keek ik als de rank hoger is dan mag je de pagina bezoeken. Ik hoor en zie steeds meer mensen met Haspermission class werken..

Hoe doen jullie dat wil je klein stukje van je class laten zien of gebruik jij andere manier laat een reactie graag achter!

Robert
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Je hebt een tabel permissions en een user tabel met een veld permission_id, stel ik heb permission_id 3, en in de permissions tabel staat id = 3, caption = Rang

En dan in permissions tabel allemaal velden met can_move_topic, can_delete_topic etc..
Je haalt met een query dus alles op uit permissions tabel where id = usertabel.permission_id en dan in een while zet je een foreach en in die foreach kijk je welke permissie true is, die zet je dan in een array erbij.
(In de foreach loop je dus alle velden na)

Dat zet je dus ergens bovenaan in je class, nu de functie maken

public function HasPermissions()
{
$HasPermission = true;
}

Met de functie func_get_args() haal je alle parameters op die met HasPermissions() worden meegegeven, daarna maak je een foreach die alle parameters doorlopen, daarin zet je een if(!in_array($parameters, $array))
{
$HasPermission = false;
}

Daarna return je $HasPermission, als de gebruiker dan een of meerdere permissies NIET heeft, dan wordt de toegang geblokkeerd smile.

En $parameters in die if(!in_array()) is dan die func_get_args() functie, en $array is de array die we bovenaan gemaakt hadden met die foreach om te kijken welke permissies de gebruiker heeft smile.

Hoop dat je er wat aan hebt.
0
Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Zal strax is kijken als wat van,kan maken,bedankt
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Verdiep je ook een in RBAC en ACL. Dit zijn de termen waarop je zeker wilt verdergaan, als je niet de roles hardcoded inje applicatie wilt plaatsen.

hasPermission() lijkt me eerder een method van de gehele class.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren