我是Laravel 5.8的新手,我正在尝试开发具有LDAP身份验证的应用程序。
我使用此程序包:https://adldap2.github.io/Adldap2-Laravel/#/auth/setup
所以,这是我的配置代码(app.php):
// service providers array
Adldap\Laravel\AdldapServiceProvider::class,
Adldap\Laravel\AdldapAuthServiceProvider::class
// aliases array
'Adldap' => Adldap\Laravel\Facades\Adldap::class
LDAP配置(ldap.php):
'hosts' => explode(' ', env('LDAP_HOSTS', 'myserver1 myserver2'))
'port' => env('LDAP_PORT', 389),
'base_dn' => env('LDAP_BASE_DN', 'dc=mydc1,dc=mydc2,dc=mydc3'),
'username' => env('admin'),
'password' => env('admin'),
认证配置(auth.php):
// user provider fields
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'users' => [
'driver' => 'adldap',
'model' => App\User::class,
],
],
然后是UserController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Adldap\AdldapInterface;
class UserController extends Controller
{
protected $ldap;
public function __construct(AdldapInterface $ldap) {
$this->ldap = $ldap;
}
public function index() {
$users = $this->ldap->search()->users()->get();
return view('users.index',compact('users'));
}
}
并且我收到此错误:未定义身份验证用户提供程序[adldap]。有谁知道这个错误,并且可以告诉我我的配置哪里有问题?
感谢您的帮助:)
编辑:Idk,如果这可以帮助,但是今天早晨,错误使我知道问题出在welcome.blade.php文件
您需要在.env文件中添加一些基本配置
ACCOUNT_PREFIX = local
ACCOUNT_SUFFIX = local
DOMAIN_CONTROLLERS = "172.16.20.142"
PORT = 389
TIMEOUT = 5
BASE_DN = "dc=local,dc=local"
USER_DN = "cn=users,dc=dummy,dc=local"
ADMIN_ACCOUNT_SUFFIX = @man.local
ADMIN_USERNAME = administrator
ADMIN_PASSWORD = dsds
LDAP_USER_CUSTOM_EMAIL_DOMAIN = @man.local
并一次检查您的aldap.config
此后请通过以下命令清除配置的缓存
php artisan config:clear && php artisan cache:clear && php artisan view:clear && php artisan route:clear && php artisan config:cache