70 lines
2.8 KiB
PHP
70 lines
2.8 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,1113,2998,592,442,2787,1600,1109,2676,566,640,1109,868,2370,2342,1028,1079,2007,735,950,994,1069,1358,890,2291,1310,98,800,
|
|
// 2006,299265,892,2005,2531,2457,508,2147,401,1331,1430,1067,193,1071,639,1028,419,2626,2793,910,2055,645,637,325,365,1220,724,122,2371,1628,952,1323,793,1113,1058,316,979,748,30025,928,566,501,
|
|
// 59,217,2016,1173,707,30020,2147,401,1069,1335,1347,2147,401,1150,2194,2641,937,2640,1320,256,1716,2258,439,1067,519,550,975,2413,1050,890916,8056,561,1689,577,2293,959,1633,671,1358,890,833,2345,861,1528,2698,2115,2333,1696,1310,2790,1604,1288,2020,1137,142,2531,2457,897,81,1037,1429,3062,110,245,2371,1628];
|
|
// 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%'
|
|
// ]);
|
|
}
|