Files
firefly-iii/app/Ldap/Rules/UserDefinedRule.php

38 lines
1.0 KiB
PHP
Raw Normal View History

2021-10-02 14:33:14 +02:00
<?php
2021-10-02 16:58:33 +02:00
declare(strict_types=1);
2021-10-02 14:33:14 +02:00
namespace FireflyIII\Ldap\Rules;
use LdapRecord\Laravel\Auth\Rule;
use LdapRecord\Models\ActiveDirectory\Group;
2021-10-03 15:31:36 +02:00
use Log;
2021-10-02 14:33:14 +02:00
/**
* Class UserDefinedRule
*/
class UserDefinedRule extends Rule
{
/**
* Check if the rule passes validation.
*
* @return bool
*/
public function isValid()
{
// LDAP_GROUP_FILTER
$groupFilter = config('ldap.group_filter');
2021-10-03 15:31:36 +02:00
Log::debug(sprintf('UserDefinedRule with group filter "%s"', $groupFilter));
2021-10-02 14:33:14 +02:00
if (null !== $groupFilter && '' !== (string)$groupFilter) {
2021-10-03 15:31:36 +02:00
Log::debug('Group filter is not empty, will now apply it.');
$administrators = Group::find($groupFilter);
$result = $this->user->groups()->recursive()->exists($administrators);
Log::debug(sprintf('Search result is %s.', var_export($result, true)));
2021-10-02 14:33:14 +02:00
2021-10-03 15:31:36 +02:00
return $result;
2021-10-02 14:33:14 +02:00
}
2021-10-03 15:31:36 +02:00
Log::debug('Group filter is empty or NULL, so will return true.');
2021-10-02 14:33:14 +02:00
return true;
}
}