(Я новичок в Laravel)
Я использую Laravel 5.2
. Я успешно включил проверку подлинности; делая php artisan make:auth
и stuffs.
Поэтому мой логин работает.
Теперь мне нужно что-то сделать, как только кто-то вошел в систему. Для простого примера:
АВТОРИЗОВАТЬСЯ:
$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('/'); }
изprotected function getLogout() { Auth::logout(); //do something here return redirect('/'); }
А также включить это в класс:
use Auth;
Вы можете попробовать настроить прослушиватели событий для активированных событий Auth.
Вы можете настроить прослушиватель, который прослушивает Illuminate\Auth\Events\Login
чтобы обрабатывать то, что вам нужно для входа в систему, и Illuminate\Auth\Events\Logout
для выхода из системы.
Laravel Docs – Аутентификация – События
Почему бы не просто проверить
if(Auth::check()){ //your code }
Убедитесь, что вы use Auth;
Ответ Алифе ниже работает нормально, как ожидалось. Но, как я googled через, использование обработчиков событий, вероятно, более предпочтительным способом. (Он работает как пользовательские крючки).
Поэтому, не обращая внимания на нижеприведенный ответ Алифея , позвольте мне выбрать -> этот подход «Слушатели событий», который я только что узнал.
Спасибо всем!