Как мне вызвать "session () -> забудьте ('данные')"? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть функция для хранения данных при условии, что у пользователя нет текущего сеанса.

Broadcast::channel('chat', function ($user) {
    $ip = Request::ip();
    $time = now();

     if (auth()->check() && !session()->has('name'))  { 
         UserInfo::storeUser();
          session()->put('name',$user->name);
            return [
                'id' => $user->id,
                'ip' => $ip,
                'name' => $user->name,
                'joined' => $time,
            ];
        }
    });

Мне сказали, что когда пользователь вышел из системы, я должен удалить данные сеанса, как это

session()->forget('name');

Поэтому я создал эту функцию в LoginController

public function logout() {
   session()->forget('name');
 }

И я называю это так

 Route::get('logout', 'LoginController@logout');

В результате

при выходе из системы вижу пустую страницу.

Так что, боюсь, я не понимаюкак правильно написать эту функцию или как ее вызвать, удалить данные из сессии.

1 Ответ

1 голос
/ 27 сентября 2019

Когда вы хотите, чтобы пользователи вышли из системы, вам нужно вызвать метод выхода из системы для аутентифицированного пользователя, а затем перенаправить их на ту страницу, на которую вы хотите.Обычно это страница приветствия приложения.

Вам необходимо заменить содержимое метода logout() следующим:

/**
 * Logout the user and redirect them to the welcome page.
 *
 * @return  \Illuminate\Http\RedirectRespose
 */
public function logout()
{
    auth()->logout();

    session()->forget('name');

    return redirect('/');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...