10K Views

Sicurezza Di Symfony Elettori

Updated 12 September 2023

Facebook Linkedin

In sicurezza delle applicazioni web è un serio problema, se l’applicazione non è abbastanza per la sicurezza che può creare un problema serio. Quindi, come possiamo garantire la nostra applicazione è protetta? Ci sono 2 progetti per la sicurezza di Autenticazione e Autorizzazione.

Autenticazione : di Autenticazione viene elaborato quando si utilizza le tue credenziali (es. nome utente e password) per accedere al sistema.

Autorizzazione Dopo il processo di autenticazione, l’applicazione sa chi sei. Ma si può accedere ad alcune risorse dell’applicazione o non è l’autorizzazione.

 

 

Symfony processo di autorizzazione decide se l’utente corrente è possibile accedere ad alcune URI, o modificare un certo oggetto. Ci sono 2 modi (ACL e gli Elettori), ma gli Elettori è la soluzione più semplice per eseguire queste restrizioni.

Symfony Elettore è un meccanismo per fornire l’accesso per l’utente corrente per alcune risorse. L’elettore è una classe che contiene il metodo isGranted in cui scriviamo la nostra logica di business complessi che decide possesso di autorizzazione o di non accedere a questo URI, o di un oggetto.

Tutti gli elettori chiamati ogni volta ogni volta che si chiama isGranted metodo, è anche possibile passare un oggetto a isGranted metodo, come secondo argomento, e che l’argomento passerà all’elettore.

Proviamo a creare uno scenario per la migliore comprensione degli elettori, si supponga che c’è un biglietto con id #1000, che viene assegnato a Un Agente e l’Agente B sta cercando di accedere a questo biglietto, ma l’Agente B non dispone dell’autorizzazione per accedere a questo tipo di biglietto.

In modo da creare un elettore di superare questa situazione.

 

Nel suddetto controller, si controlla se l’utente corrente è possibile accedere a questo biglietto chiamando il denyAccessUnlessGranted metodo di core di symfony Controller da Symfony\Bundle\FrameworkBundle\Controller spazio dei nomi. Metodo denyAccessUnlessGranted è un semplice metodo isGranted che chiama metodo isGranted e se l’utente non è autorizzato, si crea un accesso negato eccezione (403 forbidden).

Creare un biglietto elettore dove dobbiamo scrivere la nostra logica di limitare l’accesso il biglietto.

 

 

In isGranted metodo, si ritorna true se l’utente ha accesso e false in caso contrario.

Per fare questo elettore di lavoro, è necessario configurare questo elettore nel vostro servizio.file yml. Di seguito è riportato il codice per la configurazione dell’elettore:

 

 

. È possibile scrivere la logica di business in base alle proprie esigenze.

È inoltre possibile controllare Symfony Elettori su symfony documentazione http://symfony.com/doc/current/security/voters.html

Grazie per il vostro tempo.

Category(s) uvdesk
. . .

Leave a Comment

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


Be the first to comment.