Because you redirect to the intended URL. This URL is most of the time the URL before you got redirected to the login screen. Since you don't want to allow the user to have access you should redirect them to a page where they can actually login
class AdminRole
{
public function handle($request, Closure $next)
{
if (Auth::user()->hasRole('Admin')) {
return redirect('/login');
}
return $next($request);
}
}