]> _ Git - cubist_cms-back.git/commitdiff
wip #5873 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Apr 2023 17:20:33 +0000 (19:20 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Apr 2023 17:20:33 +0000 (19:20 +0200)
src/app/Magic/Models/CubistMagicAuthenticatable.php
src/app/Middleware/CheckDisabledUsers.php [new file with mode: 0644]
src/app/Providers/UserProvider.php [new file with mode: 0644]

index f632d98a14d8b9119aa7705d9f3adb2577d12a89..7dc7096410fffbe0d9aee7ab9734c088b21f5f1d 100644 (file)
@@ -15,7 +15,6 @@ use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
 use Illuminate\Foundation\Auth\Access\Authorizable;
 use Illuminate\Notifications\Notifiable;
 use Illuminate\Support\Facades\Hash;
-use Illuminate\Support\Facades\Password;
 use Parental\HasParent;
 use Spatie\Permission\Traits\HasRoles;
 
@@ -61,6 +60,10 @@ class CubistMagicAuthenticatable extends CubistMagicAbstractModel
         return parent::onSaving();
     }
 
+    public function isDisabled(){
+        return !$this->enabled;
+    }
+
 
     public function setFields()
     {
@@ -106,4 +109,6 @@ class CubistMagicAuthenticatable extends CubistMagicAbstractModel
             'can' => 'users:admin'
         ]);
     }
+
+
 }
diff --git a/src/app/Middleware/CheckDisabledUsers.php b/src/app/Middleware/CheckDisabledUsers.php
new file mode 100644 (file)
index 0000000..531e365
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+
+namespace Cubist\Backpack\Middleware;
+
+use Closure;
+use Cubist\Backpack\Magic\Models\CubistMagicAuthenticatable;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
+
+class CheckDisabledUsers
+{
+    public function handle(Request $request, Closure $next)
+    {
+        if (auth()->check()) {
+            $user = auth()->user();
+            if ($user instanceof CubistMagicAuthenticatable && $user->isDisabled()) {
+                Auth::logout();
+                $request->session()->invalidate();
+                $request->session()->regenerateToken();
+                return redirect('/')->with('error', 'Unknown account');
+            }
+        }
+        return $next($request);
+    }
+}
diff --git a/src/app/Providers/UserProvider.php b/src/app/Providers/UserProvider.php
new file mode 100644 (file)
index 0000000..4c5b4dc
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+
+namespace Cubist\Backpack\Providers;
+
+use Illuminate\Auth\EloquentUserProvider;
+
+class UserProvider extends EloquentUserProvider
+{
+
+}