(Я новичок в Laravel)
я использую Laravel 5.2
, Я успешно включил Аутентификацию; делая php artisan make:auth
и прочее.
Так что мой логин работает.
Теперь мне нужно сделать что-то, как только кто-то вошел в систему. Для простого примера:
АВТОРИЗОВАТЬСЯ:
$request->session()->put('UserAgent', $ClientUserAgent);
ВЫЙТИ:
$request->session()->forget('UserAgent');
Я не уверен, что есть (такие вещи, как) hooks
или же Event Listeners
, Event Handlers
, или что-то типа того.
Как я могу сделать это, пожалуйста?
Для почтового входа вы можете сделать это, изменив App / Http / Controllers / Auth / AuthController.php
добавлять аутентифицировано () в этот класс, чтобы переопределить один по умолчанию:
protected function authenticated(Request $request, User $user){
//put your thing in here
return redirect()->intended($this->redirectPath());
}
Также включите это в класс:
use Illuminate\Http\Request;
Для выхода добавьте эту функцию в тот же класс:
protected function getLogout()
{
Auth::logout();
//do something here
return redirect('/');
}
А также включите это в класс:
use Auth;
Для более новых версий Laravel
Если вы делаете что-то очень простое, тогда создание обработчика событий кажется мне излишним. Laravel имеет пустой метод, включенный в AuthenticatesUsers
класс для этой цели.
Просто поместите следующий метод внутрь app\Http\Controllers\LoginController
(переопределяя это):
protected function authenticated(Request $request, $user)
{
// stuff to do after user logs in
}
Вы можете попробовать настроить прослушиватели событий для событий Auth, которые запускаются.
Вы можете настроить слушателя, который слушает Illuminate\Auth\Events\Login
чтобы обработать то, что вам нужно, войдите в систему и Illuminate\Auth\Events\Logout
для выхода из системы.
Почему бы просто не проверить
if(Auth::check()){
//your code
}
Убедитесь, что вы включили use Auth;
Ответ Алиф ниже работает нормально, как и ожидалось. Но, как я погуглил, используя Обработчики событий это, вероятно, более предпочтительный способ. (Работает как пользовательские хуки).
Итак, без всякого уважения к ответу Алиф ниже, позвольте мне выбрать -> этот подход к событиям Я только что узнал.
Спасибо всем с уважением!