70 lines
1.8 KiB
PHP
70 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Illuminate\Support\Facades\Session;
|
|
|
|
class AuthController extends Controller
|
|
{
|
|
//
|
|
public function login()
|
|
{
|
|
$data['title'] = 'LOGIN';
|
|
return view('auth.login', $data);
|
|
}
|
|
|
|
public function do_login(Request $request)
|
|
{
|
|
$username = $request->username;
|
|
$password = $request->password;
|
|
|
|
$get_user = User::select(['users.*', 'roles.module'])->where('username', $username)
|
|
->join('roles', function ($join) {
|
|
$join->on('roles.id', '=', 'users.role_id');
|
|
})
|
|
->first();
|
|
|
|
if(!$get_user) {
|
|
$data_return = [
|
|
'status' => false,
|
|
'data' => null,
|
|
'msg' => 'User Tidak terdaftar atau Password salah'
|
|
];
|
|
return response()->json($data_return, 400);
|
|
}
|
|
|
|
if($get_user && Hash::check($password, $get_user->password)){
|
|
Session::put([
|
|
'name' => $get_user->name,
|
|
'username' => $get_user->username,
|
|
'role' => $get_user->role_id,
|
|
'module_access' => $get_user->module,
|
|
'pegawai_id' => $get_user->pegawai_id
|
|
]);
|
|
|
|
$data_return = [
|
|
'status' => true,
|
|
'data' => null,
|
|
'msg' => null
|
|
];
|
|
|
|
return response()->json($data_return, 200);
|
|
} else {
|
|
$data_return = [
|
|
'status' => false,
|
|
'data' => null,
|
|
'msg' => 'User Tidak terdaftar atau Password salah'
|
|
];
|
|
return response()->json($data_return, 400);
|
|
}
|
|
}
|
|
public function logout()
|
|
{
|
|
Session::flush();
|
|
return redirect('/login');
|
|
}
|
|
}
|