surda / adldap2-nette
Adldap2集成到Nette框架
v2.0.2
2022-12-16 09:04 UTC
Requires
- php: >=8.0
- ext-ldap: *
- adldap2/adldap2: ^10.0
- nette/di: ^3.0
Requires (Dev)
- nette/tester: ^2.0
- ninjify/nunjuck: ^0.3
- phpstan/phpstan: ^1.4
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-nette: ^1.0
- phpstan/phpstan-strict-rules: ^1.1
Conflicts
- nette/di: <2.4
README
安装
推荐方式是通过Composer进行
composer require surda/adldap2-nette
之后您需要在config.neon中注册扩展
extensions: adldap: Surda\Adldap\DI\AdldapExtension adldap.credentialsFactory: Surda\Adldap\DI\LdapCredentialsExtension
最小配置
adldap: hosts: { 'corp-dc1.corp.acme.org', 'corp-dc2.corp.acme.org' } base_dn: 'dc=corp,dc=acme,dc=org' username: 'admin' password: 'password'
所有配置选项列表
adldap: # Mandatory configuration options hosts: { 'corp-dc1.corp.acme.org', 'corp-dc2.corp.acme.org' } base_dn: 'dc=corp,dc=acme,dc=org' username: 'admin' password: 'password' # Optional configuration options schema: \Adldap\Schemas\ActiveDirectory account_prefix: 'ACME-' account_suffix: '@@acme.org' port: 389 follow_referrals: FALSE use_ssl: false use_tls: false version: 3 timeout: 5 adldap.credentialsFactory: accountPrefix: '' accountSuffix: '@@ad.domain.com'
用法
use Adldap\Adldap; use Adldap\Auth\BindException; use Adldap\Auth\PasswordRequiredException; use Adldap\Auth\UsernameRequiredException; class Foo { public function __construct(private Adldap $adldap) { } public function auth(): bool { $provider = $this->adldap->connect(); try { return $provider->auth()->attempt('username', 'password'); } catch (BindException $e) { } catch (PasswordRequiredException $e) { } catch (UsernameRequiredException $e) { } } }
更多详情请参阅Adldap2文档。