我正在使用Laravel提供的基本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://istack.dev59.com/Sbkrf.webp)