From 0083e9158ba315edfb96391afe94a1f9b978ed5b Mon Sep 17 00:00:00 2001 From: Deon George Date: Sat, 26 Apr 2025 14:26:36 +1000 Subject: [PATCH] Move out view variables until after our session has been setup. This was needed so that auth()->user() could be resolved correctly and needed to be done after we have started the session and swapped in the users cookies --- app/Http/Middleware/ApplicationSession.php | 4 --- app/Http/Middleware/ViewVariables.php | 30 ++++++++++++++++++++++ bootstrap/app.php | 17 +++++++----- 3 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 app/Http/Middleware/ViewVariables.php diff --git a/app/Http/Middleware/ApplicationSession.php b/app/Http/Middleware/ApplicationSession.php index a57f6877..4b125ddb 100644 --- a/app/Http/Middleware/ApplicationSession.php +++ b/app/Http/Middleware/ApplicationSession.php @@ -7,7 +7,6 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Config; use App\Classes\LDAP\Server; -use App\Ldap\User; /** * This sets up our application session with any required values, ultimately for cache optimisation reasons @@ -25,9 +24,6 @@ class ApplicationSession { Config::set('server',new Server); - view()->share('server', Config::get('server')); - view()->share('user', auth()->user() ?: new User); - return $next($request); } } \ No newline at end of file diff --git a/app/Http/Middleware/ViewVariables.php b/app/Http/Middleware/ViewVariables.php new file mode 100644 index 00000000..3a57ce23 --- /dev/null +++ b/app/Http/Middleware/ViewVariables.php @@ -0,0 +1,30 @@ +share('server',Config::get('server')); + view()->share('user',auth()->user() ?: new User); + + return $next($request); + } +} \ No newline at end of file diff --git a/bootstrap/app.php b/bootstrap/app.php index 20cb058f..ae392e66 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -5,7 +5,7 @@ use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; -use App\Http\Middleware\{AllowAnonymous,ApplicationSession,CheckUpdate,SwapinAuthUser}; +use App\Http\Middleware\{AllowAnonymous,ApplicationSession,CheckUpdate,SwapinAuthUser,ViewVariables}; return Application::configure(basePath: dirname(__DIR__)) ->withRouting( @@ -15,16 +15,19 @@ return Application::configure(basePath: dirname(__DIR__)) health: '/up', ) ->withMiddleware(function (Middleware $middleware) { - $middleware->appendToGroup('web', [ - SwapinAuthUser::class, - ApplicationSession::class, - CheckUpdate::class, - ]); + $middleware->appendToGroup( + group: 'web', + middleware: [ + ApplicationSession::class, + SwapinAuthUser::class, + ViewVariables::class, + CheckUpdate::class, + ]); $middleware->prependToGroup('api', [ EncryptCookies::class, - SwapinAuthUser::class, ApplicationSession::class, + SwapinAuthUser::class, AllowAnonymous::class, ]);