我目前正在我的API中实现基于令牌的身份验证系统。这是由Tappleby构建的,它安装在我的Laravel安装的Vendor文件夹中。这非常适合作为过滤器使用。但是,我需要控制器中的一些包的功能。我向控制器添加了use Tappleby\AuthToken\AuthToken;
,并将必要的行添加到__construct
。但这并不起作用,因为我不断获得Class AuthTokenDriver does not exist
。
那是因为该文件位于Vendor文件夹中吗?您可以在下面看到控制器,但请注意,Tappleby\AuthToken\Exceptions\NotAuthorizedException
位于Vendor文件夹中。
use Illuminate\Events\Dispatcher;
use Tappleby\AuthToken\Exceptions\NotAuthorizedException;
class ApiUsersController extends ApiController {
/**
* @var Acme\Transformers\UserTransformer
*/
protected $UserTransformer;
/**
* The event dispatcher instance.
*
* @var \Illuminate\Events\Dispatcher
*/
protected $events;
/**
* @var \Tappleby\AuthToken\AuthTokenDriver
*/
protected $driver;
function __construct(UserTransformer $userTransformer, UserLessonsTransformer $userLessonssTransformer, AuthTokenDriver $driver, Dispatcher $events)
{
$this->UserTransformer = $userTransformer;
$this->UserLessonTransformer = $userLessonTransformer;
$this->driver = $driver;
$this->events = $events;
}
public function index()
{
$payload = Request::header('X-Auth-Token');
if(empty($payload)) {
return $this->respondNotFound('User does not exist.');
}
$user = $this->driver->validate($payload);
return $payload;
}
答案 0 :(得分:1)
Vendor文件夹是Composer用于维护您的软件包的内容。因此,如果另一台服务器或其他人想要检查您的项目,而不是移植Laravel使用和附加的所有功能强大的软件包,他们可以通过Composer下载。
但是在这种情况下,您需要查看此软件包的文档,并确保您已按照所有说明进行操作,例如在app/config/app.php
中包含composer dump-autoload
也在自述文件中说明: -
我对这个特定的套餐并不十分清楚,但请记得在以下情况下转储自动加载器: -
use \Tappleby\AuthToken\AuthTokenDriver;
最后,为了让控制器在这个类中使用它,请尝试使用列出的其他依赖项: -
{{1}}