edms2023/app/Http/Controllers/Admin/Auth/LoginController.php

73 lines
1.9 KiB
PHP

<?php
namespace App\Http\Controllers\Admin\Auth;
use App\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Cookie;
use Session;
use Auth;
class LoginController extends Controller
{
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/admin/dashboard';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest:admin')->except('logout');
}
protected function guard()
{
return Auth::guard('admin');
}
protected function credentials(Request $request)
{
$field = filter_var($request->get($this->username()), FILTER_VALIDATE_EMAIL)
? $this->username()
: 'username';
return [
$field => $request->get($this->username()),
'password' => $request->password,
];
}
protected function attemptLogin(Request $request)
{
return $this->guard()->attempt(
$this->credentials($request), $request->has('remember')
);
}
protected function authenticated(Request $request, $user)
{
Session::flash('success_message', 'You are successfully logged in.');
if($request->has('remember')):
return redirect()->route('dashboard')->cookie('cookie_remember', 1)->cookie('cookie_password', $request->password)->cookie('cookie_username', $request->get($this->username()));
else:
return redirect()->route('dashboard')->cookie('cookie_remember', '')->cookie('cookie_password', '')->cookie('cookie_username', '');
endif;
}
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
Session::flash('success_message', 'You are successfully logged out.');
return redirect('/admin');
}
}