10K Views

Symfony De Segurança Eleitores

Updated 12 September 2023

Facebook Linkedin

Em segurança de aplicações web é uma preocupação séria, se sua aplicação não for suficiente para garantir que pode criar um problema sério. Então, como podemos assegurar que a nossa aplicação é segura? Há 2 projeto de segurança de Autenticação e Autorização.

Autenticação : Autenticação é processado quando você usar suas credenciais (por exemplo. nome de usuário e senha) para acessar o sistema.

Autorização : Após o processo de autenticação, a aplicação sabe quem vocês são. Mas você pode acessar determinados recursos do aplicativo, ou não, é a autorização.

Symfony processo de autorização decide se quer ou não o usuário atual pode acessar alguns URI, ou modificar um determinado objeto. Existem 2 maneiras de ACL (e Eleitores), mas os Eleitores é uma solução mais fácil para executar essas restrições.

Symfony de Eleitor é um mecanismo para fornecer acesso para o usuário atual para alguns recursos. O eleitor é uma classe que contém isGranted método onde escrevemos o nosso complexo de lógica de negócios que decide você tem permissão ou não para aceder a este URI, ou objeto.

Todos os eleitores, chamados a cada vez que sempre que você chamou o isGranted método, você também pode passar um objeto para o isGranted método como um segundo argumento e o argumento vai passar para o eleitor.

Vamos criar um cenário para o melhor entendimento dos eleitores, suponha que existe um ticket com o id #1000, que é atribuído ao Agente de Uma e o Agente B está tentando acessar esse bilhete, mas Agente B não tem permissão para acessar este bilhete.

Criar, assim, um eleitor para superar esta situação.

Acima controlador, vamos verificar se o usuário atual pode acessar este bilhete chamando o denyAccessUnlessGranted método do Symfony principal Controlador do Symfony\Bundle\FrameworkBundle\Controlador de espaço de nomes. Método denyAccessUnlessGranted é um simples isGranted método que chama o isGranted método e, se o usuário não está autorizado, em seguida, ele cria um acesso negado a exceção (403 proibido).

Criar um bilhete de eleitor, onde temos que escrever a nossa lógica para restringir o que o usuário acessar o bilhete.

No isGranted método, retorna true se o usuário atual tem acesso e false se não.

Para fazer este eleitor trabalho, é preciso configurar este eleitor em seu serviço.yml arquivo. Abaixo está o código para a configuração do eleitor:

É isso. Você pode escrever a sua própria lógica de negócios com base na sua necessidade.

Você também pode verificar o Symfony Eleitores sobre o symfony documentação http://symfony.com/doc/current/security/voters.html

Obrigado pelo seu tempo.

Category(s) uvdesk
. . .

Leave a Comment

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


Be the first to comment.