102 lines
2.8 KiB
PHP
102 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\User;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class LoginController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
if ($user = Auth::user()) {
|
|
if ($user->level == '1') {
|
|
return redirect()->intended('dashboard');
|
|
} elseif ($user->level == '2') {
|
|
return redirect()->intended('home');
|
|
}
|
|
//return redirect()->intended('dashboard');
|
|
}
|
|
|
|
return view('login.view_login');
|
|
}
|
|
|
|
public function proses(Request $request)
|
|
{
|
|
$request->validate([
|
|
'username' => 'required',
|
|
'password' => 'required'
|
|
], [
|
|
'username.required' => "Username tidak boleh kosong",
|
|
'password.required' => "Passowrd tidak boleh kosong"
|
|
]);
|
|
|
|
$kredensial = $request->only('username', 'password');
|
|
|
|
if (Auth::attempt($kredensial)) {
|
|
$request->session()->regenerate();
|
|
$user = Auth::user();
|
|
if ($user->level == '1') {
|
|
return redirect()->intended('dashboard');
|
|
} elseif ($user->level == '2') {
|
|
return redirect()->intended('home');
|
|
}
|
|
|
|
if($user){
|
|
return redirect()->intended('dashboard');
|
|
}
|
|
return redirect()->intended('/');
|
|
}
|
|
|
|
return back()->withErrors([
|
|
'username' => 'Maaf, username atau password Anda salah'
|
|
])->withInput();
|
|
|
|
}
|
|
|
|
public function logout(Request $request)
|
|
{
|
|
Auth::logout();
|
|
|
|
$request->session()->invalidate();
|
|
|
|
$request->session()->regenerateToken();
|
|
|
|
return redirect('/login')->with('message', 'Anda telah berhasil keluar.');;
|
|
}
|
|
|
|
public function registrasi(){
|
|
return view('login.registrasi');
|
|
}
|
|
|
|
public function prosesregistrasi(Request $request)
|
|
{
|
|
$request->validate([
|
|
'nama' => 'required',
|
|
'username' => 'required',
|
|
'email' => 'required', // Pastikan email unik
|
|
'password' => 'required' // Terdiri dari 6 karakter
|
|
], [
|
|
'nama.required' => "nama tidak boleh kosong",
|
|
'username.required' => "Username tidak boleh kosong",
|
|
'email.required' => "Email tidak boleh kosong",
|
|
'email.unique' => "Email sudah digunakan", // Pesan jika email sudah ada dalam basis data
|
|
'password.required' => "Password tidak boleh kosong",
|
|
]);
|
|
|
|
// Simpan data ke dalam basis data
|
|
User::create([
|
|
'nama' => $request->nama,
|
|
'email' => $request->email,
|
|
'username' => $request->username,
|
|
'level' => '2', // Default level
|
|
'password' => bcrypt($request->password)
|
|
]);
|
|
|
|
return redirect('/login')->with('message', 'Registrasi berhasil. Silakan login.');
|
|
}
|
|
|
|
|
|
}
|