diff --git a/Http/Controllers/Auth/AuthenticatedSessionController.php b/Http/Controllers/Auth/AuthenticatedSessionController.php index 04ac701..a988208 100644 --- a/Http/Controllers/Auth/AuthenticatedSessionController.php +++ b/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -38,6 +38,57 @@ return redirect()->intended(RouteServiceProvider::HOME); } + public function storeUsermanager(Request $request) + { + $userArray = []; + $id = $request->email; + $passwd = $request->password; + $SERVER_ADDR = $request->ip(); + $IPUserManager = $_ENV['IP_USER_MANAGER']; + $portUserManager = $_ENV['PORT_USER_MANAGER']; + $appId = $_ENV['APP_ID']; + + $userData = verify_user($id, $passwd, $SERVER_ADDR, $IPUserManager, $portUserManager, $appId); + + + if (strlen($userData) > 1) { + $userRawArray = explode("\t", $userData); + foreach ($userRawArray as $rkey => $rval) { + [$key, $val] = explode('=', $rval); + $userArray[0][$key] = $val; + } + + $user = User::where('user_id', '=', $request->email)->first(); + + if (!$user) { + $user = User::create([ + 'name' => $userArray[0]['NAMA_USER'], + 'user_id' => $userArray[0]['KD_USER'] + ]); + + switch ($userArray[0]['KD_GROUP']) { + case '001' : + $user->assignRole('administrator'); + break; + case '007' : + $user->assignRole('operator'); + break; + case '008' : + $user->assignRole('otorisator'); + break; + default : + $user->assignRole('user'); + break; + } + } + + Auth::loginUsingId($user->id, true); + + $request->session()->regenerate(); + } + return redirect()->intended(RouteServiceProvider::HOME); + } + /** * Destroy an authenticated session. * diff --git a/Resources/views/auth/login-usermanager.blade.php b/Resources/views/auth/login-usermanager.blade.php new file mode 100644 index 0000000..056901e --- /dev/null +++ b/Resources/views/auth/login-usermanager.blade.php @@ -0,0 +1,69 @@ + + + +
+ @csrf + +
+ +

+ Sign In +

+ + + +
+ Your Social Campaigns +
+ +
+ + + +
+ + + +
+ + +
+ + + +
+ + + + + + + +
+ +
+ + + +
+ Not a Member yet? + + + Sign up + +
+ +
+ + +
diff --git a/Routes/auth.php b/Routes/auth.php index 3f5ea97..c7cb0ae 100644 --- a/Routes/auth.php +++ b/Routes/auth.php @@ -19,7 +19,12 @@ 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');