Laravel基本HTTP Auth检查返回False

利亚姆·波特

我正在使用Laravel中提供的基本HTTP身份验证来登录我的网站。但是,当我打电话时,即使我已登录,响应也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()电话(始终打印0):

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

我的路线: 路线

ErkanÖzkök

在5.2版本中进行了更改。

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章