Для последнего вопроса, который у вас есть, to redirect users when logged or not, you can make use of the
Auth middleware`:
Route::group(['middleware' => ['auth']], function() {
//Only Auth routes that you wish to allow, if user is authenticated
});
Если вы хотите быть принудительным, вы можете также выполнить проверку в верхней части ваших маршрутов:
if (Auth::guest()) {
return redirect('login');
}
Что касается вашего маршрута входа , это то, что я хотел бы сделать, чтобы уменьшить код и отделить логику в вашем method
:
В корневой папке вашегоlaravel project, запустите следующую команду в вашем CMD:
php artisan make:request LoginRequest
Это создаст новый Class
в app/Http/Requests
В этом классе добавьте свою проверку, поэтому, когда маршрут иPOST использует ваш метод, проверка уже запущена:
Класс LoginRequest
public function autorize()
{
if (Auth::check()) {
return false; //User already logged in, no point in going through this again
}
return true; //It is a guest so lets approve it
}
public function rules()
{
return [
'email' => 'required|email|users:unique',
'password' => 'required'
];
}
public function messages()
{
return [
'email.required' => 'You need to add an email to login.',
'email.email' => 'The information provided does not seem to be an email.',
...
];
}
Ваш метод входа в систему на вашем контроллере
public function login(LoginRequest $request)
{
// You can remove the first lines that do the validation as this is triggered before arriving to the method now!
....
}
Если вы работаете с несколькими доменами
Перейдите на config/app.php
и добавьте другие нужные вам домены под ключом base_domain
:
return [
'base_domain' => env('APP_BASE_DOMAIN'),
...
];
Отсюда вам придется сообщить Ларавелу о ваших намерениях.Есть несколько шагов, которые нужно выполнить, и несколько способов лучше организовать код.Я рекомендую этот урок , чтобы помочь вам настроить субдомены в вашем приложении laravel!