php – 如何在mycontroller中获取laravel 5.2 ADLDAP提供程序实例?

我使用laravel 5.2和ADLDAP2 Lib进行LDAP身份验证,我想从我的Active Directory中获取所有用户,为此我想使用此方法:

$results = $provider->search()->where('cn', '=', 'John Doe')->get();

但我不知道如何获取LDAP提供程序的实例.

最佳答案
这里是Adldap2的创造者.如果您使用的是Adldap2-Laravel软件包,请使用附带的façade:

use Adldap\Laravel\Facades\Adldap;

$results = Adldap::getProvider('default')->search()->where('cn', '=', 'John Doe')->get();

// Or:

$results = Adldap::getDefaultProvider()->search()->where('cn', '=', 'John Doe')->get();

// Or call `search()` directly and your default provider will be used:

$results = Adldap::search()->where('cn', '=', 'John Doe')->get();

或者,您也可以通过别名将其从容器中解析出来:

$ldap = app('adldap');

$ldap->search()->users()->get();

或者通过它的界面:

$ldap = app(\Adldap\AdldapInterface::class);

控制器内部:

namespace App\Http\Controllers;

use App\Http\Controller;
use Adldap\Laravel\Facades\Adldap;

class UserController extends Controller
{
   /**
    * Displays all LDAP users
    *
    * @return \Illuminate\Http\Response
    */
    public function index()
    {
        $users = Adldap::search()->users()->get();

        return view('ldap.users', compact('users'));
    }
}

转载注明原文:php – 如何在mycontroller中获取laravel 5.2 ADLDAP提供程序实例? - 代码日志