gpt4 book ai didi

php - Laravel 基本 HTTP 身份验证检查返回 False

转载 作者:可可西里 更新时间:2023-11-01 12:57:32 26 4
gpt4 key购买 nike

我正在使用 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();
#.......
}

我的路线: Routes

最佳答案

在 5.2 版本中发生了变化。

如果您将使用 session 、csrf、cookie ext。你应该在你的 route 使用这样的“网络”中间件:

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

关于php - Laravel 基本 HTTP 身份验证检查返回 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34841031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com