Laravel 4 AUTH через AJAX, возможный выпуск сеанса

Я сделал это в предыдущих проектах, используя Sentry 2, но я не могу заставить его работать со встроенной функцией Auth.

Способ хранения пользователей:

public function store() { $validation = new Services\Validators\User; if ($validation->passesForStore()) { // Create a new user $user = new User; $user->name = Input::get('name'); $user->password = Input::get('password'); $user->email = Input::get('email'); $user->save(); // Authenticate the user Auth::loginUsingId($user->id); return JSend::success([ 'redirect' => URL::action('VaultController@index') ]); } // Provide a custom message for an e-mailaddress that's already in use $message = ''; if ($validation->hasFailed('email', 'unique')) { $message = 'This e-mailaddress has already been taken'; } return JSend::fail([ 'failed' => $validation->failedFields(), 'message' => $message ]); } 

Обработчик ответа AJAX:

 // Redirect to given URL if (typeof response.data.redirect != 'undefined') { window.location = response.data.redirect; } 

Пользователь успешно создан, установив Auth::check(); сразу после того, как loginUsingId true но как только страница перенаправляется с помощью window.location , Auth::check() loginUsingId false, и пользователь не вошел в систему, даже когда вы вручную переходите на другую страницу.

Настройки App.session:

 'lifetime' => 120, 'expire_on_close' => true, 

Не забывайте, что метод входа работает аналогичным образом, но не работает! (он работает без использования AJAX)

=== UPDATE ===

Жизнь просто стала немного страннее. Теперь я могу войти в систему, используя мои методы регистрации и регистрации. Что изменилось? Я добавил псевдоним vhost для моего прежнего проекта localhost, и вход в систему, казалось, работал нормально. (Звучит для меня как проблема с окружающей средой?).

Однако, что не работает, выходит из системы. Для тестовых целей я создал следующий маршрут:

 Route::get('logout', function(){ Auth::logout(); Session::flush(); dd(Auth::check()); }); из Route::get('logout', function(){ Auth::logout(); Session::flush(); dd(Auth::check()); }); 

Результат, как и ожидалось, будет false . Однако! Если я перейду на страницу входа в систему, я буду перенаправлен. Посещение моего другого маршрута отладки ниже результатов в true что абсолютно не имеет смысла. Пользователь не был зарегистрирован, используя флаг «запомнить».

 Route::get('authenticated', function(){ dd(Auth::check()); }); 

В этот момент очень приветствуется любой вход 🙂

=== ОБНОВЛЕНИЕ 2 ===

Кажется, предыдущая успешная попытка была просто случайностью. Вход в систему или выход из системы после того, как я вручную вошел в систему, не работает. Любой способ отладить эту черную магию?

=== ОБНОВЛЕНИЕ 3 ===

Сегодня я попробовал свое приложение еще раз и был представлен не могу записать в файл xxxx ошибку. Я проверил папку хранения / сеансов и обнаружил, что такого файла не существует.

Я опустошил папку хранения / сеансов, очистил весь кеш, и странно, что у меня были проблемы с регистрацией и выходом из системы.

Несмотря на то, что основная проблема решена (на данный момент), я все равно хотел бы узнать, что вызвало эту проблему в первую очередь