69 lines
3.1 KiB
PHP
69 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\User;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use App\Models\MasterPitStopPraAkre;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class AuthController extends Controller
|
|
{
|
|
public function login(){
|
|
$totalSteps = (int) MasterPitStopPraAkre::where('statusenabled', true)->count();
|
|
return view('auth.login', [
|
|
'totalSteps' => $totalSteps,
|
|
]);
|
|
}
|
|
|
|
public function submitLogin(Request $request){
|
|
$request->validate([
|
|
'namauser' => 'required',
|
|
'password' => 'required'
|
|
]);
|
|
|
|
// // $allowedIds =
|
|
// [727,1755,2184,2549,993,3053,2319,1995,2011,2145,592,442,2787,1600,1109,2676,566,640,868,2370,2342,1028,1079,2007,735,950,994,1069,1358,890,2291,1310,98,800,2006,299265,892,2005,2531,2457,508,1331,1430,1067,193,1071,639,419,2626,2793,910,2055,645,637,325,365,1220,724,122,2371,1628,952,1323,793,1113,1058,316,979,748,30025,928,501,59,217,2016,1173,707,30020,1335,1347,1150,2194,2641,937,2640,1320,256,1716,2258,439,519,550,975,2413,1050,890916,8056,561,1689,577,2293,959,1633,671,833,2345,861,1528,2698,2115,2333,1696,2790,1604,1288,2020,1137,142,897,81,1037,1429,3062,110,245,1649,1864,503,2485,703,440,712,1131,109,1759,2998,752,2050,2085,354,1687,2632,2799,2816,1011,2792,3036,1032,1354,1306,2091,1019,395,673,1056,554,564,2347,2147,401,984,1757,598,553,953,184,2380,3,62,415,1219,663,1021,1068,2670,3015,3045,2768,538,660,2052,740,1092,30027,1171,3128,1449,940,1717,1774,2080,2289,955,2079,1065,764,543,1233,788299270,3092,299266,788299269,2381,1771]
|
|
// IdAllowedLoginPitstop
|
|
$allowedIdsRaw = DB::table('settingdatafixed_m')->where('namafield', 'IdAllowedLoginPitstop')->value('nilaifield');
|
|
$allowedIds = json_decode($allowedIdsRaw, true);
|
|
$user = User::where('namauser', $request->namauser)->first();
|
|
if (!in_array($user->id, $allowedIds)) {
|
|
return back()->with(['error' => 'Akun Anda tidak diizinkan login']);
|
|
}
|
|
|
|
if ($user && $user->passcode === sha1($request->password)) {
|
|
auth()->login($user);
|
|
$request->session()->regenerate();
|
|
return redirect()->intended('/');
|
|
}
|
|
return back()->with(['error' => 'Gagal Login! Password / Username Salah']);
|
|
|
|
}
|
|
|
|
public function logout(){
|
|
Auth::logout();
|
|
request()->session()->invalidate();
|
|
request()->session()->regenerateToken();
|
|
return redirect('/login');
|
|
}
|
|
// query dibawah digunakan untuk mencari data akun user login
|
|
// select ls.id, ls.namauser, ls.objectpegawaifk, pm.nama
|
|
// FROM pegawai_m pm
|
|
// left join loginuser_s ls on pm.id = ls.objectpegawaifk
|
|
// WHERE nama ILIKE ANY (ARRAY[
|
|
// '%Sarvita Dewi%',
|
|
// '%Milwiyandia%',
|
|
// '%Zulkarnaen%',
|
|
// '%Ripka perdija surbakti%',
|
|
// '%Arum Budiarti%',
|
|
// '%Ghufran Haning Putra%',
|
|
// '%Ifah Kisyafah%',
|
|
// '%Putri rishki Roma Dani%',
|
|
// '%Putri Milenia Ramadhanti%',
|
|
// '%Nurul susilowati%',
|
|
// '%Joko Prasetio%'
|
|
// ]);
|
|
}
|