mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-04 03:43:07 +00:00
Update code to reflect latest changes.
This commit is contained in:
@@ -5,6 +5,7 @@ namespace FireflyIII\Ldap\Rules;
|
||||
|
||||
use LdapRecord\Laravel\Auth\Rule;
|
||||
use LdapRecord\Models\ActiveDirectory\Group;
|
||||
use LdapRecord\Query\ObjectNotFoundException;
|
||||
use Log;
|
||||
|
||||
/**
|
||||
@@ -16,19 +17,15 @@ class UserDefinedRule extends Rule
|
||||
* Check if the rule passes validation.
|
||||
*
|
||||
* @return bool
|
||||
* @throws ObjectNotFoundException
|
||||
*/
|
||||
public function isValid()
|
||||
{
|
||||
// LDAP_GROUP_FILTER
|
||||
$groupFilter = config('ldap.group_filter');
|
||||
Log::debug(sprintf('UserDefinedRule with group filter "%s"', $groupFilter));
|
||||
if (null !== $groupFilter && '' !== (string)$groupFilter) {
|
||||
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)));
|
||||
|
||||
return $result;
|
||||
return $this->user->groups()->recursive()->exists(Group::findOrFail($groupFilter));
|
||||
}
|
||||
Log::debug('Group filter is empty or NULL, so will return true.');
|
||||
|
||||
|
43
app/Ldap/Scopes/UserDefinedScope.php
Normal file
43
app/Ldap/Scopes/UserDefinedScope.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace FireflyIII\Ldap\Scopes;
|
||||
|
||||
use LdapRecord\Models\Model;
|
||||
use LdapRecord\Models\Scope;
|
||||
use LdapRecord\Query\Model\Builder;
|
||||
use Log;
|
||||
|
||||
|
||||
/**
|
||||
* Class UserDefinedScope
|
||||
*/
|
||||
class UserDefinedScope implements Scope
|
||||
{
|
||||
/**
|
||||
* Apply the scope to the given query.
|
||||
*
|
||||
* @param Builder $query
|
||||
* @param Model $model
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function apply(Builder $query, Model $model)
|
||||
{
|
||||
|
||||
Log::debug('UserDefinedScope is disabled.');
|
||||
|
||||
// scope is disabled:
|
||||
|
||||
|
||||
|
||||
/*
|
||||
$groupFilter = config('ldap.group_filter');
|
||||
Log::debug(sprintf('UserDefinedScope with group filter "%s"', $groupFilter));
|
||||
if (null !== $groupFilter && '' !== (string)$groupFilter) {
|
||||
Log::debug('UserDefinedScope: Group filter is not empty, will now apply it.');
|
||||
$query->in($groupFilter);
|
||||
}
|
||||
Log::debug('UserDefinedScope: done!');
|
||||
*/
|
||||
}
|
||||
}
|
@@ -22,6 +22,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Providers;
|
||||
|
||||
use FireflyIII\Ldap\Scopes\UserDefinedScope;
|
||||
use FireflyIII\Support\Authentication\RemoteUserGuard;
|
||||
use FireflyIII\Support\Authentication\RemoteUserProvider;
|
||||
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
||||
@@ -66,5 +67,11 @@ class AuthServiceProvider extends ServiceProvider
|
||||
$this->registerPolicies();
|
||||
Passport::routes();
|
||||
Passport::tokensExpireIn(now()->addDays(14));
|
||||
|
||||
|
||||
\LdapRecord\Models\OpenLDAP\User::addGlobalScope(
|
||||
new UserDefinedScope
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user