73 lines
1.9 KiB
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');
|
|
}
|
|
}
|