praakreditasi/app/Http/Controllers/AuthController.php
2026-05-18 16:48:41 +07:00

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%'
// ]);
}