HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-portal-updates/app/Http/Middleware/AdminMiddleware.php
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;

class AdminMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
     * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
     */

    private $auth;

    public function __construct(Guard $auth)
    {
        $this->auth = $auth;
        Auth::shouldUse('admin');
    }

    public function handle(Request $request, Closure $next)
    {
        if (auth()->user() && auth()->user()->hasRole('super_admin')) {
            return $next($request);
        } else {
            auth()->logout();
            Session::flash('message', 'Unauthorized');
            Session::flash('alert-class', 'alert-danger');
            return redirect()->route('admin.login');
        }
    }
}