Fixed Login for Superuser
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Domains\UserManagement\Controllers;
|
||||
|
||||
use App\Enumerations\UserRole;
|
||||
use App\Providers\InertiaProvider;
|
||||
use App\Scopes\CommonController;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -38,20 +39,44 @@ class LoginController extends CommonController {
|
||||
return redirect()->intended('/register/verifyEmail');
|
||||
}
|
||||
|
||||
|
||||
#$credentials = ['username' => 'development', 'password' => 'development'];
|
||||
|
||||
if (!Auth::attempt($credentials)) {
|
||||
return back()->withErrors([
|
||||
'username' => 'Diese Zugangsdaten sind ungültig.',
|
||||
]);
|
||||
}
|
||||
|
||||
$request->session()->regenerate();
|
||||
$user = Auth::user();
|
||||
$tenant = app('tenant');
|
||||
|
||||
// Auf "lv" darf sich grundsätzlich jeder aktive Nutzer einloggen.
|
||||
// Auf Sub-Tenants gilt:
|
||||
// - Der Nutzer muss dem Tenant zugeordnet sein (local_group)
|
||||
// - ODER er hat "Bundesrecht über Landesrecht":
|
||||
// user_role_main === ROLE_ADMINISTRATOR -> Login auf jedem Sub-Tenant erlaubt.
|
||||
$isMainAdmin = $user->user_role_main === UserRole::USER_ROLE_ADMIN;
|
||||
$isMemberOfTenant = $tenant->slug === $user->local_group;
|
||||
|
||||
# dd($user->firstname . ' ' . $user->lastname);
|
||||
if ($tenant->slug !== 'lv' && !$isMainAdmin && !$isMemberOfTenant) {
|
||||
Auth::logout();
|
||||
$request->session()->invalidate();
|
||||
$request->session()->regenerateToken();
|
||||
|
||||
return back()->withErrors([
|
||||
'username' => 'Diese Zugangsdaten sind für diesen Stamm nicht gültig.',
|
||||
]);
|
||||
}
|
||||
|
||||
if (!$user->active) {
|
||||
Auth::logout();
|
||||
$request->session()->invalidate();
|
||||
$request->session()->regenerateToken();
|
||||
|
||||
return back()->withErrors([
|
||||
'username' => 'Dieses Benutzerkonto ist nicht aktiv.',
|
||||
]);
|
||||
}
|
||||
|
||||
$request->session()->regenerate();
|
||||
|
||||
return redirect()->intended('/');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user