O que é Active Directory?
O Active Directory é um serviço de diretório de rede, que armazena informações sobre usuários, computadores, aplicativos e outras informações que são utilizadas em uma rede de computadores em um domínio corporativo. Ele é muito utilizado em empresas para centralizar a administração de recursos e serviços de rede, permitindo que os administradores gerenciem e controlem o acesso de usuários e computadores a recursos e serviços.
Por que integrar o Symfony com o sistema de autenticação do Active Directory?
Integrar o Symfony com o serviço de diretório do Active directory é fundamental para autenticar usuários e controlar o acesso a recursos e serviços disponíveis em uma rede de computadores em um domínio corporativo. Essa integração faz com que o Symfony reconheça o usuário autenticado pelo AD e permita que ele acesse recursos e serviços restritos a outros usuários ou grupos de usuários.
Como implementar a autenticação Active Directory no Symfony?
Para implementar a autenticação do Active Directory no Symfony, é necessário realizar as seguintes etapas:
- Criar um novo serviço de autenticação;
- Configurar o serviço para utilizar o diretório do Active Directory como provedor de autenticação;
- Especificar as credenciais de acesso ao serviço do Active Directory;
- Criar um novo controlador para gerenciar as solicitações de autenticação;
- Especificando os detalhes de autenticação, como nome de usuário e senha, na solicitação de autenticação;
Para ilustrar esses passos, veja o exemplo de código abaixo
# config/packages/security.yaml
security:
providers:
activeldap:
ldap:
service: SymfonyComponentLdapLdap
base_dn: 'OU=Usuarios,DC=empresa,DC=com'
search_dn: 'CN=usuário AD,OU=Usuarios,DC=empresa,DC=com'
search_password: 'senha do usuário AD'
default_roles: ROLE_USER
uid_key: sAMAccountName
firewalls:
ldap_firewall:
pattern: ^/ldap-test
form_login_ldap:
provider: activeldap
service: SymfonyComponentLdapLdap
dn_string: '{username}@empresa.com'
search_dn: 'CN=usuário AD,OU=Usuarios,DC=empresa,DC=com'
search_password: 'senha do usuário AD'
check_path: /ldap-test/login_check
login_path: /ldap-test/login
# Change the route name to match your application's login route
logout:
path: /ldap-test/logout
# Login route name or login_url that users will be redirected to after logging out
anonymous: ~
Essa configuração é apenas um exemplo e pode ser personalizada conforme as necessidades e requisitos específicos do projeto.
Ao implementar a autenticação do Active Directory no Symfony, é importante considerar os requisitos de segurança, definindo regras para o controle de acesso a recursos e serviços e garantindo que as credenciais de acesso ao serviço do Active Directory sejam mantidas em segurança.