使用 adldap-laravel 和 Laravel 5.8。
我正在获得基于 LDAP 组的权限。我可以使用以下方法检查用户是否属于组:($user->ldap->inGroup('Accounts');
返回布尔值)
但是,该方法也接受array
,但似乎是“AND”搜索,而不是“ANY”。
所以我写了这个:
/**
* LDAP helper, to see if the user is in an AD group.
* Iterate through and break when a match is found.
*
* @param mixed $input
* @return bool
*/
public function isInGroup($input)
{
if (is_string($input)) {
$input[] = $input;
}
foreach ($input as $group)
if ($this->ldap->inGroup($group)) {
return true;
}
return false;
}
像这样实现:
$user->isInGroup(['Accounts', 'Sales', 'Marketing']);
但是需要很长时间才能检查。
有谁知道解决我的问题的改进方法?