2023-05-16 04:51:54 +00:00
|
|
|
<?php
|
|
|
|
|
2023-05-20 14:10:32 +00:00
|
|
|
namespace Modules\Usermanager\Http\Controllers\Auth;
|
2023-05-16 04:51:54 +00:00
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
use App\Providers\RouteServiceProvider;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
use Illuminate\Support\Facades\Auth;
|
2023-07-12 07:01:08 +00:00
|
|
|
use Modules\Usermanager\Entities\User;
|
2023-05-20 14:10:32 +00:00
|
|
|
use Modules\Usermanager\Http\Requests\LoginRequest;
|
2023-05-16 04:51:54 +00:00
|
|
|
|
|
|
|
class AuthenticatedSessionController extends Controller
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Display the login view.
|
|
|
|
*
|
|
|
|
* @return \Illuminate\View\View
|
|
|
|
*/
|
|
|
|
public function create()
|
|
|
|
{
|
|
|
|
addJavascriptFile('assets/js/custom/authentication/sign-in/general.js');
|
|
|
|
|
2023-07-12 07:01:08 +00:00
|
|
|
if($_ENV['METHOD_AUTH']=='usermanager'){
|
|
|
|
return view('usermanager::auth.login-usermanager');
|
|
|
|
}else{
|
|
|
|
return view('usermanager::auth.login');
|
|
|
|
}
|
2023-05-16 04:51:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Handle an incoming authentication request.
|
|
|
|
*
|
2023-05-20 14:10:32 +00:00
|
|
|
* @param \Modules\Usermanager\Http\Requests\LoginRequest $request
|
2023-05-16 04:51:54 +00:00
|
|
|
*
|
|
|
|
* @return \Illuminate\Http\RedirectResponse
|
|
|
|
*/
|
|
|
|
public function store(LoginRequest $request)
|
|
|
|
{
|
|
|
|
$request->authenticate();
|
|
|
|
|
|
|
|
$request->session()->regenerate();
|
|
|
|
|
|
|
|
return redirect()->intended(RouteServiceProvider::HOME);
|
|
|
|
}
|
|
|
|
|
2023-06-08 10:56:15 +00:00
|
|
|
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;
|
2023-07-12 07:01:08 +00:00
|
|
|
case '002' :
|
|
|
|
$user->assignRole('kepaladivisi');
|
|
|
|
break;
|
|
|
|
case '003' :
|
|
|
|
$user->assignRole('kepalabagian');
|
|
|
|
break;
|
2023-06-08 10:56:15 +00:00
|
|
|
case '007' :
|
2023-07-12 07:01:08 +00:00
|
|
|
case '018' :
|
2023-06-08 10:56:15 +00:00
|
|
|
$user->assignRole('operator');
|
|
|
|
break;
|
|
|
|
case '008' :
|
2023-07-12 07:01:08 +00:00
|
|
|
case '019' :
|
2023-06-08 10:56:15 +00:00
|
|
|
$user->assignRole('otorisator');
|
|
|
|
break;
|
|
|
|
default :
|
|
|
|
$user->assignRole('user');
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Auth::loginUsingId($user->id, true);
|
|
|
|
|
|
|
|
$request->session()->regenerate();
|
|
|
|
}
|
|
|
|
return redirect()->intended(RouteServiceProvider::HOME);
|
|
|
|
}
|
|
|
|
|
2023-05-16 04:51:54 +00:00
|
|
|
/**
|
|
|
|
* Destroy an authenticated session.
|
|
|
|
*
|
|
|
|
* @param \Illuminate\Http\Request $request
|
|
|
|
*
|
|
|
|
* @return \Illuminate\Http\RedirectResponse
|
|
|
|
*/
|
|
|
|
public function destroy(Request $request)
|
|
|
|
{
|
|
|
|
Auth::guard('web')->logout();
|
|
|
|
|
|
|
|
$request->session()->invalidate();
|
|
|
|
|
|
|
|
$request->session()->regenerateToken();
|
|
|
|
|
|
|
|
return redirect('/');
|
|
|
|
}
|
|
|
|
}
|