diff --git a/Entities/User.php b/Entities/User.php index 337b394..9cb9024 100644 --- a/Entities/User.php +++ b/Entities/User.php @@ -45,4 +45,5 @@ protected $casts = [ 'email_verified_at' => 'datetime', ]; + } diff --git a/Http/Controllers/Auth/AuthenticatedSessionController.php b/Http/Controllers/Auth/AuthenticatedSessionController.php index 9b4c873..2da8022 100644 --- a/Http/Controllers/Auth/AuthenticatedSessionController.php +++ b/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -6,6 +6,8 @@ use App\Providers\RouteServiceProvider; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; + use Illuminate\Support\Facades\Hash; + use Modules\Usermanager\Entities\User; use Modules\Usermanager\Http\Requests\LoginRequest; class AuthenticatedSessionController extends Controller @@ -38,7 +40,6 @@ $userData = verify_user($id, $passwd, $SERVER_ADDR, $IPUserManager, $portUserManager, $appId); - if (strlen($userData) > 1) { $userRawArray = explode("\t", $userData); foreach ($userRawArray as $rkey => $rval) { @@ -46,12 +47,22 @@ $userArray[0][$key] = $val; } - $user = User::where('user_id', '=', $request->email)->first(); + $credentials = $request->validate([ + 'email' => ['required'], + 'password' => ['required'], + ]); + + $user = ""; + if (Auth::attempt($credentials)) { + $user = User::where(['email' => $request->email])->first(); + } if (!$user) { - $user = User::create([ - 'name' => $userArray[0]['NAMA_USER'], - 'user_id' => $userArray[0]['KD_USER'] + $user = User::updateOrCreate([ + 'email' => $userArray[0]['KD_USER'], + ], [ + 'name' => $userArray[0]['NAMA_USER'], + 'password' => Hash::make($request->password) ]); switch ($userArray[0]['KD_GROUP']) { @@ -59,10 +70,19 @@ $user->assignRole('administrator'); break; case '007' : - $user->assignRole('operator'); + $user->assignRole('eo'); break; case '008' : - $user->assignRole('otorisator'); + $user->assignRole('dd'); + break; + case '401' : + $user->assignRole('ad'); + break; + case '018' : + $user->assignRole('siskon'); + break; + case '019' : + $user->assignRole('siskon_otorisator'); break; default : $user->assignRole('user'); @@ -107,7 +127,6 @@ Auth::guard('web')->logout(); $request->session()->invalidate(); - $request->session()->regenerateToken(); return redirect('/'); diff --git a/Routes/auth.php b/Routes/auth.php index f83645c..767dfa3 100644 --- a/Routes/auth.php +++ b/Routes/auth.php @@ -19,8 +19,11 @@ Route::get('login', [AuthenticatedSessionController::class, 'create']) ->name('login'); - Route::post('login', [AuthenticatedSessionController::class, 'store']); - + if($_ENV['METHOD_AUTH']=='usermanager'){ + Route::post('login', [AuthenticatedSessionController::class, 'storeUsermanager']); + }else { + Route::post('login', [AuthenticatedSessionController::class, 'store']); + } Route::get('forgot-password', [PasswordResetLinkController::class, 'create']) ->name('password.request');