Я использую базовую HTTP-аутентификацию, предоставленную в Laravel, для входа на мой сайт. Однако, когда я называю Auth::Check()
я всегда получаю ложные в качестве ответа, даже если я авторизован.Laravel Basic HTTP Auth Check Возврат False
ли 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()
вызов (Всегда печатает 0):
public function show($id)
{
echo \Auth::check() ? '1' : '0';
die();
#.......
}
Вы выполнили шаги из https://laravel.com/docs/5.1/authentication#http-basic-authentication? –
Auth :: check - это именно то, что используется, можете ли вы разместить свой код? –
@LiamPotter Похоже, вы уже проверяете подлинность с помощью промежуточного программного обеспечения. Почему вы проверяете его снова в контроллере? Если вы не прошли аутентификацию, Laravel не позволит вам войти в метод контроллера. – parrker9