143 lines
4.4 KiB
PHP
143 lines
4.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Auths;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\User;
|
|
use Exception;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Illuminate\Support\Facades\Redirect;
|
|
use Illuminate\Support\Facades\Session;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Spatie\Permission\Models\Role;
|
|
use Symfony\Component\Console\Input\Input;
|
|
|
|
class AuthController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the resource.
|
|
*/
|
|
public function login()
|
|
{
|
|
return view('auth.login');
|
|
}
|
|
|
|
public function auth_login(Request $request)
|
|
{
|
|
// validate
|
|
// read more on validation at http://laravel.com/docs/validation
|
|
$rules = array(
|
|
'email' => 'required|email',
|
|
'password' => 'required'
|
|
);
|
|
$validator = Validator::make($request->all(), $rules);
|
|
|
|
// process the login
|
|
if ($validator->fails()) {
|
|
return Redirect::to('login')
|
|
->withErrors($validator)
|
|
->withInput($request->except('password'));
|
|
} else {
|
|
try {
|
|
$user = User::where('email', $request->email)->first();
|
|
|
|
if (Hash::check($request->password, $user->password)) {
|
|
// Set Auth
|
|
Auth::login($user);
|
|
|
|
// Create Session message
|
|
Session::flash('login-message', [
|
|
'type' => 'success',
|
|
'msg' => 'Anda berhasil melakukan Login!'
|
|
]);
|
|
|
|
// redirect
|
|
return Redirect::to('/transaksi');
|
|
} else {
|
|
// Create Session message
|
|
Session::flash('message', [
|
|
'type' => 'warning',
|
|
'msg' => 'Username atau password anda salah!'
|
|
]);
|
|
|
|
// redirect
|
|
return Redirect::to('login')->withInput($request->except('password'));
|
|
}
|
|
} catch (Exception $e) {
|
|
// Create Session message
|
|
Session::flash('message', [
|
|
'type' => 'warning',
|
|
'msg' => 'Username atau password anda salah!'
|
|
]);
|
|
|
|
// redirect
|
|
return Redirect::to('login')->withInput($request->except('password'));
|
|
}
|
|
}
|
|
}
|
|
|
|
public function login_proses(Request $request)
|
|
{
|
|
$validator = Validator::make(
|
|
$request->all(),
|
|
[
|
|
'email' => ['required', 'string', 'email', 'exists:users,email'],
|
|
'password' => ['required', 'string'],
|
|
],
|
|
['email.exists' => 'Akun anda belum terdaftar']
|
|
);
|
|
$errors = $validator->errors();
|
|
$emailErrorMessage = $errors->first('email');
|
|
|
|
if ($validator->fails()) {
|
|
// dd($validator->errors());
|
|
Session::flash('message', [
|
|
'type' => 'warning',
|
|
'msg' => $emailErrorMessage
|
|
]);
|
|
return Redirect::to('login')->withInput($request->except('password'));
|
|
}
|
|
|
|
try {
|
|
if (Auth::attempt($validator->validated(), $request->has('remember_me') ? true : false)) {
|
|
Session::flash('login-message', [
|
|
'type' => 'success',
|
|
'msg' => 'Anda berhasil melakukan Login!'
|
|
]);
|
|
|
|
return redirect()->intended('/transaksi');
|
|
}
|
|
|
|
// Create Session message
|
|
Session::flash('message', [
|
|
'type' => 'warning',
|
|
'msg' => 'Username atau password anda salah!'
|
|
]);
|
|
|
|
// redirect
|
|
return Redirect::to('login')->withInput($request->except('password'));
|
|
} catch (\Exception $e) {
|
|
// Create Session message
|
|
Session::flash('message', [
|
|
'type' => 'warning',
|
|
'msg' => 'Terjadi Kesalahan!'
|
|
]);
|
|
|
|
// redirect
|
|
return Redirect::to('login')->withInput($request->except('password'));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Logout and back to form login
|
|
*/
|
|
public function logout()
|
|
{
|
|
// logout and clear data Auth
|
|
Auth::logout();
|
|
return Redirect::to('login');
|
|
}
|
|
}
|