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