diff --git a/app/Http/Middleware/RequireRole.php b/app/Http/Middleware/RequireRole.php index 0b2f82ad1..c123fc4e5 100644 --- a/app/Http/Middleware/RequireRole.php +++ b/app/Http/Middleware/RequireRole.php @@ -15,7 +15,14 @@ class RequireRole */ public function handle($request, Closure $next, $role) { - abort_unless(auth()->check() && auth()->user()->hasRole($role), 403, "You don't have permissions to access this area!"); + $check = DB::table('user_roles')->where('character_id', auth()->user()->character_id)->get(['role']); + if($check === $role) { + $confirmed = true; + } else { + $confirmed = false; + } + + abort_unless(auth()->check() && $confirmed, 403, "You don't have permissions to access this area!"); return $next($request); } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 70f91292c..b7e32931c 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -31,23 +31,38 @@ class AuthServiceProvider extends ServiceProvider $gate->define('isAdmin', function($user) { $check = DB::table('user_roles')->where('character_id', auth()->user()->character_id)->get(['role']); - dd($check); - if($check == 'Admin') { + if($check === 'Admin') { return true; + } else { + return false; } - //return $user->hasRole('Admin'); }); $gate->define('isUser', function($user) { - return $user->hasRole('User'); + $check = DB::table('user_roles')->where('character_id', auth()->user()->character_id)->get(['role']); + if($check === 'User') { + return true; + } else { + return false; + } }); $gate->define('isGuest', function($user) { - return $user->hasRole('Guest'); + $check = DB::table('user_roles')->where('character_id', auth()->user()->character_id)->get(['role']); + if($check === 'Guest') { + return true; + } else { + return false; + } }); $gate->define('isNone', function($user) { - return $user->hasRole('None'); + $check = DB::table('user_roles')->where('character_id', auth()->user()->character_id)->get(['role']); + if($check === 'None') { + return true; + } else { + return false; + } }); } }