connectholland / ldap-bundle
此包已被废弃,不再维护。没有建议的替代包。
为各种现有用户包提供 LDAP 验证。
1.0.0
2017-11-07 15:04 UTC
Requires
- php: ^5.6 || ^7.0
- doctrine/doctrine-bundle: ^1.6
- symfony/ldap: ^2.8 || ^3.0
- symfony/property-access: ^2.8 || ^3.0
- symfony/security: ^2.8 || ^3.0
- symfony/security-bundle: ^2.8 || ^3.0
Requires (Dev)
This package is auto-updated.
Last update: 2023-05-24 01:55:47 UTC
README
该包扩展了 Symfony LDAP 组件的 LDAP 验证功能,增加了自动从数据库等创建/获取用户的能力。这使您能够轻松地将 LDAP 验证添加到现有的身份验证包。
使用 Composer 安装
运行以下命令将包添加到您的项目的 composer.json 文件中
$ composer require connectholland/ldap-bundle
启用包
在内核中启用包
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new ConnectHolland\LdapBundle\ConnectHollandLdapBundle(), // ... ); }
配置包
该包需要在您的 security.yml
文件中进行以下配置才能正常工作
# app/config/security.yml security: # ... providers: my_ldap: connect_holland_ldap: # Configuration part of this bundle. connection: host: ldap.example.com user_factory: type: doctrine # Currently 2 types available (doctrine and sulu). Custom user factories can be defined through a 'service' key with the id of the service. user_class: 'AppBundle\Entity\User' username_column: username user_property_map: # Mapping of LDAP attributes (keys) to user properties (values). uid: username givenname: firstname sn: lastname mail: email base_dn: ou=users,dc=example,dc=com search_dn: ~ search_password: ~ default_roles: - ROLE_ADMIN uid_key: uid firewalls: somename: # ... form_login_ldap: provider: my_ldap service: security.user.provider.concrete.my_ldap.client # Service created by the bundle. dn_string: 'uid={username},ou=users,dc=example,dc=com'
有关更多信息以及各种选项的详细说明,请参阅 Symfony 文档中的针对 LDAP 服务器进行身份验证。
为 Sulu CMS 配置包
要将 LDAP 验证添加到 Sulu CMS,请将以下配置添加到 app/config/admin/security.yml
# app/config/admin/security.yml security: # ... ldap: connect_holland_ldap: # Configuration part of this bundle. connection: host: ldap.example.com user_factory: type: sulu user_property_map: # Mapping of LDAP attributes (keys) to user properties (values). uid: username givenname: contact.first_name sn: contact.last_name mail: email base_dn: ou=users,dc=example,dc=com search_dn: ~ search_password: ~ default_roles: - User # The name of the role within your Sulu CMS. uid_key: uid firewalls: admin: # ... form_login_ldap: login_path: sulu_admin.login check_path: sulu_admin.login_check success_handler: sulu_security.authentication_handler failure_handler: sulu_security.authentication_handler csrf_provider: security.csrf.token_manager provider: ldap service: security.user.provider.concrete.ldap.client dn_string: 'uid={username},ou=users,dc=example,dc=com'
根据您的 LDAP 配置调整 connect_holland_ldap
中的设置。
配置参考
connect_holland_ldap: connection: host: ldap.example.com port: 389 encryption: ssl # tls or ssl options: protocol_version: 3 referrals: false user_factory: type: sulu # doctrine or sulu service: ~ # Reference to your own user factory service. user_class: ~ # Fully qualified class name of your user entity. Only used for doctrine user factory type. username_column: ~ # Name of the username column. Only used for doctrine user factory type. user_property_map: # Mapping of LDAP attributes (keys) to user properties (values). uid: username givenname: firstname sn: lastname mail: email base_dn: ~ search_dn: ~ search_password: ~ default_roles: - ~ uid_key: sAMAccountName filter: '({uid_key}={username})'