LDAP配置Laravel5-未定义身份验证用户提供者[adldap]

问题描述 投票:0回答:1

我是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文件

php laravel laravel-5 ldap laravel-5.8
1个回答
0
投票

您需要在.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

© www.soinside.com 2019 - 2024. All rights reserved.