Laravel Basic HTTP Auth Check Возвращает Ложь

Я использую базовую HTTP-аутентификацию, предоставленную в Laravel, для входа на мой сайт. Тем не менее, когда я звоню Auth::Check() Я всегда получаю ложный как ответ, хотя я вошел в систему.

Есть ли Auth::Check() не работает с базовой моделью аутентификации, и если нет, есть ли способ проверить базовую аутентификацию, чтобы увидеть, вошел ли пользователь в систему?

Это мой класс пользователя:

namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'email', 'password',
];

/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];

public function getRememberToken()
{
return $this->remember_token;
}

public function setRememberToken($value)
{
$this->remember_token = $value;
}

public function getRememberTokenName()
{
return 'remember_token';
}
}

Это сегмент кода, в котором я установил фильтр аутентификации для использования

$this->middleware('auth.basic', ['only' => ['create', 'store', 'edit', 'update', 'destroy']]);

А это мой Auth::Check() call (всегда печатает 0):

public function show($id)
{
echo \Auth::check() ? '1' : '0';
die();
#.......
}

Мои маршруты:
Маршруты

7

Решение

Это изменилось в версии 5.2.

Если вы будете использовать session, csrf, cookie ext. вы должны использовать промежуточное программное обеспечение «web», например, в своих маршрутах:

Route::group(['middleware' => ['web']], function () {
//
});

И вы можете увидеть в своем проекте новый файл kernel.php:

/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],

'api' => [
'throttle:60,1',
],
];

Больше информации: https://laravel.com/docs/5.2/releases

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]