我目前正在API中實現一個基於令牌的認證系統。這是由Tappleby構建的,它安裝在我的Laravel安裝的Vendor文件夾中。這很適合作爲過濾器。不過,我需要在我的控制器中包的一些功能。我向控制器添加了use Tappleby\AuthToken\AuthToken;
,並將必要的行添加到__construct
。那雖然不起作用,因爲我總是收到Class AuthTokenDriver does not exist
。因供應商文件夾找不到Laravel類?
這是因爲該文件在供應商文件夾?您可以在下面看到控制器,但請注意,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;
}
然後我得到這個:'目標[Tappleby \的authToken \ AuthTokenProviderInterface]不instantiable.' – user4114789 2014-10-06 21:14:28
你可能不應該直接調用AuthDriver然後。通過將文檔添加到你的'app/config/app.php'中來給別名添加一個別名可能會更容易和更清晰: - ' '''AuthToken'=>'Tappleby \ Support \ AuthTokenNotAuthorizedException'=>'Tappleby \ AuthToken \ Exceptions \ NotAuthorizedException'' – Bludock 2014-10-06 21:18:32
好的,我刪除了它,但已經安裝了別名。儘管如此,別名的概念仍然不清楚。我現在如何使用它們? – user4114789 2014-10-06 21:21:02