2019-05-14 07:52:49 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Auth;
|
|
|
|
|
|
|
|
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
2023-01-30 10:37:33 +00:00
|
|
|
use Illuminate\Http\JsonResponse;
|
2020-09-13 13:41:26 +00:00
|
|
|
use Illuminate\Http\Request;
|
2023-01-30 10:37:33 +00:00
|
|
|
use Illuminate\Support\Facades\Cookie;
|
2019-05-14 07:52:49 +00:00
|
|
|
|
2023-01-27 08:59:31 +00:00
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
use App\Providers\RouteServiceProvider;
|
|
|
|
|
2019-05-14 07:52:49 +00:00
|
|
|
class LoginController extends Controller
|
|
|
|
{
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Login Controller
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| This controller handles authenticating users for the application and
|
|
|
|
| redirecting them to your home screen. The controller uses a trait
|
|
|
|
| to conveniently provide its functionality to your applications.
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
use AuthenticatesUsers;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Where to redirect users after login.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
2020-08-23 01:37:08 +00:00
|
|
|
protected $redirectTo = RouteServiceProvider::HOME;
|
2019-05-14 07:52:49 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Create a new controller instance.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
$this->middleware('guest')->except('logout');
|
|
|
|
}
|
2020-08-20 12:33:13 +00:00
|
|
|
|
2020-09-13 13:41:26 +00:00
|
|
|
protected function credentials(Request $request): array
|
|
|
|
{
|
|
|
|
return [
|
2024-01-08 03:54:00 +00:00
|
|
|
login_attr_name() => $request->get(login_attr_name()),
|
2020-09-13 13:41:26 +00:00
|
|
|
'password' => $request->get('password'),
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
2020-08-23 01:37:08 +00:00
|
|
|
/**
|
2023-01-30 10:37:33 +00:00
|
|
|
* We need to delete our encrypted username/password cookies
|
|
|
|
*
|
|
|
|
* @note The rest of this function is the same as a normal laravel logout as in AuthenticatesUsers::class
|
|
|
|
* @param Request $request
|
|
|
|
* @return \Illuminate\Contracts\Foundation\Application|JsonResponse|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|mixed
|
|
|
|
*/
|
|
|
|
public function logout(Request $request)
|
|
|
|
{
|
|
|
|
// Delete our LDAP authentication cookies
|
|
|
|
Cookie::queue(Cookie::forget('username_encrypt'));
|
|
|
|
Cookie::queue(Cookie::forget('password_encrypt'));
|
|
|
|
|
|
|
|
$this->guard()->logout();
|
|
|
|
|
|
|
|
$request->session()->invalidate();
|
|
|
|
|
|
|
|
$request->session()->regenerateToken();
|
|
|
|
|
|
|
|
if ($response = $this->loggedOut($request)) {
|
|
|
|
return $response;
|
|
|
|
}
|
|
|
|
|
|
|
|
return $request->wantsJson()
|
|
|
|
? new JsonResponse([], 204)
|
|
|
|
: redirect('/');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
2020-08-23 01:37:08 +00:00
|
|
|
* Show our themed login page
|
|
|
|
*/
|
|
|
|
public function showLoginForm()
|
|
|
|
{
|
|
|
|
$login_note = '';
|
2020-08-20 12:33:13 +00:00
|
|
|
|
2020-08-23 01:37:08 +00:00
|
|
|
if (file_exists('login_note.txt'))
|
|
|
|
$login_note = file_get_contents('login_note.txt');
|
|
|
|
|
2020-09-05 23:46:27 +00:00
|
|
|
return view('architect::auth.login')->with('login_note',$login_note);
|
2020-08-23 01:37:08 +00:00
|
|
|
}
|
2024-01-08 03:54:00 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the login username to be used by the controller.
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function username()
|
|
|
|
{
|
|
|
|
return login_attr_name();
|
|
|
|
}
|
2019-05-14 07:52:49 +00:00
|
|
|
}
|