我正在使用laravel 5.2和ADLDAP2 Lib进行LDAP身份验证,我希望从我的Active Directory中获取所有用户,为此我想使用此方法:
$results = $provider->search()->where('cn', '=', 'John Doe')->get();
但我不知道如何获取LDAP提供程序的实例。
答案 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'));
}
}