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

时间:2016-05-17 07:10:19

标签: php laravel-5 laravel-5.2

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

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

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

1 个答案:

答案 0 :(得分:0)

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'));
    }
}