Tôi đang sử dụng xác thực HTTP cơ bản được cung cấp trong Laravel để đăng nhập vào trang web của mình. Tuy nhiên, khi tôi gọi Auth::Check()
Tôi luôn luôn có được sai như phản ứng mặc dù tôi đang đăng nhập.Kiểm tra xác thực HTTP cơ bản của Laravel Trả về False
Liệu Auth::Check()
không hoạt động với mô hình xác thực cơ bản và nếu không, có cách nào để kiểm tra xác thực cơ bản để xem nếu người dùng đăng nhập?
Đây là lớp người sử dụng tôi:
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';
}
}
Đây là phân đoạn của mã nơi tôi đặt bộ lọc xác thực để sử dụng
$this->middleware('auth.basic', ['only' => ['create', 'store', 'edit', 'update', 'destroy']]);
Và đây là Auth::Check()
kêu gọi của Mẹ (Luôn in 0):
public function show($id)
{
echo \Auth::check() ? '1' : '0';
die();
#.......
}
Bạn đã làm theo các bước từ https://laravel.com/docs/5.1/authentication#http-basic-authentication? –
Auth :: kiểm tra là chính xác những gì được sử dụng, bạn có thể gửi mã của bạn? –
@LiamPotter Có vẻ như bạn đã kiểm tra xác thực bằng phần mềm trung gian. Tại sao bạn lại kiểm tra lại nó trong bộ điều khiển? Nếu bạn không được xác thực, Laravel sẽ không cho phép bạn bên trong phương thức điều khiển. – parrker9