【发布时间】:2018-11-07 20:28:40
【问题描述】:
在一个完全安静的 Laravel 项目中,我正在使用 dingo/api 包。在处理任何请求之前,我需要设置一些与当前用户相关的配置和其他内容。当我们使用 dingo 时,我们可以这样访问当前用户:
$user = app('Dingo\Api\Auth\Auth')->user();
首先我认为我应该在服务提供商那里做这件事。但是在那里,Laravel 还没有启动 dingo 身份验证,因此它给我一个错误。然后我想我需要编辑名为 api.auth 的 dingo auth 中间件来执行此操作。它在我的路线上的用法是这样的:
<?php
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', ['prefix' => 'v1', 'namespace' => 'App\Http\Controllers'], function ($api) {
$api->group(['prefix' => 'admin', 'middleware' => 'api.auth'], function ($api) {
$api->get('checkRole/{branch_id}', 'RoleController@getRoles');
但我无权访问它,因为它是 dingo 包中的内置中间件。那么在这种情况下我该怎么办呢?
【问题讨论】: