0

次のカスタム ガードを作成しました。

<?php
namespace App\Auth;

use Illuminate\Http\Request;
use Illuminate\Auth\GuardHelpers;
use Illuminate\Contracts\Auth\Guard;

class LicenseGuard implements Guard
{
    use GuardHelpers;

    protected $request;

    public function __construct(LicenseUserProvider $provider, Request $request)
    {
        $this->provider = $provider;
        $this->request  = $request;
    }

    public function user ()
    {
        // If we've already retrieved the user for the current request we can just
        // return it back immediately. We do not want to fetch the user data on
        // every call to this method because that would be tremendously slow.
        if (!is_null($this->user))
            return $this->user;

        $user       = null;
        $licenseKey = $this->request->json('license_key');

        if (!empty($licenseKey)) {
            $user = $this->provider->retrieveByLicense($licenseKey);
        }

        return $this->user = $user;
    }

    public function validate (Array $credentials = [])
    {
       /* Validate code */
    }
}
?>

私のミドルウェアでは、次のように定義しました。

<?php
if($this->auth->guard($guard)->quest())
    return response('You have entered an unknown license key', 401);

私が得ているエラーは次のとおりです:
致命的なエラー: 未定義のメソッド App\Auth\LicenseGuard::quest() への呼び出し

「クエスト」メソッドを持つデフォルトの GuardHelper 特性を使用していますが、なぜこれが起こっているのかわかりません。

PHP7 と Lumen 5.2 を使用しています

4

1 に答える 1

1

あなたがそこで何をしているのかquestわかりませんが、「あなたが探しているのはドロイドではありませんか」と思います。

于 2016-02-25T20:52:16.467 に答える