10K Views

Symfony Veiligheid Kiezers

Updated 12 September 2023

Facebook Linkedin

In web application security is een ernstig probleem, als uw toepassing niet genoeg om veilig te kunnen maken met een ernstig probleem. Dus hoe kunnen wij onze applicatie is beveiligd? Er zijn 2 veiligheid ontwerp Authenticatie en Autorisatie.

Authenticatie : Authenticatie wordt verwerkt wanneer u uw referenties (bijv. gebruikersnaam en wachtwoord in om in te loggen op het systeem.

Authorisatie : Na het verificatie proces -, applicatie-weet wie je bent. Maar kunt u toegang tot bepaalde bronnen van de toepassing is of niet, is een machtiging.

 

 

Symfony autorisatie proces bepaalt of de huidige gebruiker toegang tot een aantal URI, of wijzigen van een bepaald object. Er zijn 2 manieren om de ACL (en Kiezers), maar de Kiezers is een makkelijker oplossing voor het uitvoeren van deze beperkingen.

Symfony Kiezer is een mechanisme om de toegang tot de huidige gebruiker voor bepaalde bronnen. De kiezer is een klasse waarin het isGranted methode waar we schrijven onze complexe business logica dat beslist u toestemming hebt of niet om toegang te krijgen tot deze URI, of het object.

Alle kiezers opgeroepen op elk moment genoemd isGranted methode, u kunt ook een object doorgeeft aan isGranted methode als een tweede argument en dat argument zal doorgeven aan de kiezer.

We maken een scenario voor een beter begrip van de kiezers, stel er is een kaartje met id #1000 die is toegewezen aan Een Agent en Agent B probeert toegang te krijgen tot dit ticket, maar Agent B heeft geen toestemming voor toegang tot dit ticket.

Dus maak een kiezer om deze situatie te overwinnen.

 

In de bovenstaande controller, controleren we of de huidige gebruiker toegang tot dit ticket door het aanroepen van de denyAccessUnlessGranted methode van symfony core Controller van Symfony\Bundel\FrameworkBundle\Controller naamruimte. Methode denyAccessUnlessGranted is een eenvoudiger isGranted methode die gesprekken isGranted methode en indien gebruiker niet toegestaan dan schept een toegang geweigerd uitzondering (403 forbidden).

Creëren van een ticket kiezer waar hebben we schrijven onze logica te beperken gebruiker om toegang te krijgen tot het ticket.

 

 

In isGranted methode, keren we terug waar als huidige gebruiker toegang heeft en false als dit niet.

Voor het maken van deze kiezer werken, moet u deze kiezer in uw dienst.yml bestand. Hieronder is de code voor de configuratie van de kiezer:

 

 

Dat is het. U kunt uw eigen business logica op basis van uw behoefte.

U kunt ook controleren Symfony Kiezers op symfony documentatie http://symfony.com/doc/current/security/voters.html

Bedankt voor uw tijd.

Category(s) uvdesk
. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.