Very basic READ ONLY LDAP authentication driver for Laravel 5.2+
Look HERE for the package for Laravel 5.1
Add to your root composer.json and install with composer install
or composer update
{
require: {
"krenor/ldap-auth": "~2.0"
}
}
or use composer require krenor/ldap-auth
in your console.
Modify your config/app.php
file and add the service provider to the providers array.
`Krenor\LdapAuth\LdapAuthServiceProvider::class,`
Update your config/auth.php
to use ldap as authentication and the LdapUser Class.
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'ldap-users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'ldap-users' => [
'driver' => 'ldap',
'model' => \Krenor\LdapAuth\Objects\LdapUser::class,
],
]
Add a ldap.php to your config directory. It should look like this.
<?php
return [
'suffix' => '@example.local',
'domain_controller' => ['dns2.example.local', 'dns1.example.local'],
'base_dn' => 'OU=People,DC=example,DC=local',
// Indicates to use the hostnames sequentially. This means that this package
// will try dns2.example.local first. If it's down, it tries the next one
// If this is set to false, load balancing will be used instead (random domain controller)
'backup_rebind' => true,
// if using TLS this MUST be false
'ssl' => false,
// if using SSL this MUST be false
'tls' => false,
// Prevent anonymous bindings
'admin_user' => 'admin',
// Prevent anonymous bindings
'admin_pass' => 'admin'
];
You may use a single domain controller or multiple ones. Enter them as array, not as string!
'domain_controller' => ['dns1.example.local']
Look up here for an Example or
Look up here for all Guard methods using $this->auth
.
-
Add tests - Your patch won't be accepted if it doesn't have tests.
-
Document any changes - Make sure the
README.md
and any other relevant documentation are kept up-to-date. -
Create feature branches - Use
git checkout -b my-new-feature
-
One pull request per feature - If you want to do more than one thing, send multiple pull requests.
-
Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
ldap-auth is distributed under the terms of the MIT license