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

35 lines
922 B
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-23 08:32:33 +02:00
use LdapRecord\Query\ObjectNotFoundException;
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
2021-10-23 08:32:33 +02:00
* @throws ObjectNotFoundException
2021-10-02 14:33:14 +02:00
*/
public function isValid()
{
$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.');
2021-10-23 08:32:33 +02:00
return $this->user->groups()->recursive()->exists(Group::findOrFail($groupFilter));
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;
}
}