mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Update code to reflect latest changes.
This commit is contained in:
parent
04dfeaf488
commit
f4fe930430
@ -177,6 +177,12 @@ MAP_DEFAULT_ZOOM=6
|
|||||||
# https://docs.firefly-iii.org/advanced-installation/authentication
|
# https://docs.firefly-iii.org/advanced-installation/authentication
|
||||||
AUTHENTICATION_GUARD=web
|
AUTHENTICATION_GUARD=web
|
||||||
|
|
||||||
|
#
|
||||||
|
# Your LDAP server may speak a dialect. You can choose between 'OpenLDAP' and 'ActiveDirectory'
|
||||||
|
# Anything else defaults to 'ActiveDirectory'
|
||||||
|
#
|
||||||
|
LDAP_DIALECT=OpenLDAP
|
||||||
|
|
||||||
#
|
#
|
||||||
# LDAP connection settings:
|
# LDAP connection settings:
|
||||||
#
|
#
|
||||||
|
@ -5,6 +5,7 @@ namespace FireflyIII\Ldap\Rules;
|
|||||||
|
|
||||||
use LdapRecord\Laravel\Auth\Rule;
|
use LdapRecord\Laravel\Auth\Rule;
|
||||||
use LdapRecord\Models\ActiveDirectory\Group;
|
use LdapRecord\Models\ActiveDirectory\Group;
|
||||||
|
use LdapRecord\Query\ObjectNotFoundException;
|
||||||
use Log;
|
use Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,19 +17,15 @@ class UserDefinedRule extends Rule
|
|||||||
* Check if the rule passes validation.
|
* Check if the rule passes validation.
|
||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
|
* @throws ObjectNotFoundException
|
||||||
*/
|
*/
|
||||||
public function isValid()
|
public function isValid()
|
||||||
{
|
{
|
||||||
// LDAP_GROUP_FILTER
|
|
||||||
$groupFilter = config('ldap.group_filter');
|
$groupFilter = config('ldap.group_filter');
|
||||||
Log::debug(sprintf('UserDefinedRule with group filter "%s"', $groupFilter));
|
Log::debug(sprintf('UserDefinedRule with group filter "%s"', $groupFilter));
|
||||||
if (null !== $groupFilter && '' !== (string)$groupFilter) {
|
if (null !== $groupFilter && '' !== (string)$groupFilter) {
|
||||||
Log::debug('Group filter is not empty, will now apply it.');
|
Log::debug('Group filter is not empty, will now apply it.');
|
||||||
$administrators = Group::find($groupFilter);
|
return $this->user->groups()->recursive()->exists(Group::findOrFail($groupFilter));
|
||||||
$result = $this->user->groups()->recursive()->exists($administrators);
|
|
||||||
Log::debug(sprintf('Search result is %s.', var_export($result, true)));
|
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
Log::debug('Group filter is empty or NULL, so will return true.');
|
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;
|
namespace FireflyIII\Providers;
|
||||||
|
|
||||||
|
use FireflyIII\Ldap\Scopes\UserDefinedScope;
|
||||||
use FireflyIII\Support\Authentication\RemoteUserGuard;
|
use FireflyIII\Support\Authentication\RemoteUserGuard;
|
||||||
use FireflyIII\Support\Authentication\RemoteUserProvider;
|
use FireflyIII\Support\Authentication\RemoteUserProvider;
|
||||||
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
||||||
@ -66,5 +67,11 @@ class AuthServiceProvider extends ServiceProvider
|
|||||||
$this->registerPolicies();
|
$this->registerPolicies();
|
||||||
Passport::routes();
|
Passport::routes();
|
||||||
Passport::tokensExpireIn(now()->addDays(14));
|
Passport::tokensExpireIn(now()->addDays(14));
|
||||||
|
|
||||||
|
|
||||||
|
\LdapRecord\Models\OpenLDAP\User::addGlobalScope(
|
||||||
|
new UserDefinedScope
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -108,8 +108,7 @@ return [
|
|||||||
|
|
||||||
'ldap' => [
|
'ldap' => [
|
||||||
'driver' => 'ldap',
|
'driver' => 'ldap',
|
||||||
//'model' => LdapRecord\Models\ActiveDirectory\User::class,
|
'model' => env('LDAP_DIALECT') === 'OpenLDAP' ? LdapRecord\Models\OpenLDAP\User::class : LdapRecord\Models\ActiveDirectory\User::class,
|
||||||
'model' => LdapRecord\Models\OpenLDAP\User::class,
|
|
||||||
'rules' => [
|
'rules' => [
|
||||||
UserDefinedRule::class,
|
UserDefinedRule::class,
|
||||||
],
|
],
|
||||||
|
Loading…
Reference in New Issue
Block a user