Laravel 5.6.28:身份验证中间件重定向到登录(未调用句柄) - php

在laravel中对中间件进行身份验证以使用我的自定义防护对用户进行身份验证,但是每次我使用该中间件调用路由时,都会收到以下错误消息:

路由[登录]未定义。

现在,我只是想确保正在调用中间件。这是我到目前为止所做的:

public function handle($request, Closure $next, $guard = null)
{ 
    return "hi";
    if (Auth::guard('api')->guest()) {
        if ($request->ajax() || $request->wantsJson()) {
            return response('Unauthorized.', 401);
        }

        return redirect()->guest('hi/login');
    }

    return $next($request);
}

上面是authenticate.php的handle方法。这是我的警卫代码

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'access_token',
        'provider' => 'users',
    ],
],
 'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],
],

路线:
这是我在其中具有实现身份验证的子组的路由组
中间件
Route::group(['prefix' => 'app'], function() use ($router) { }

这是我在Route::get('/subscribedcompanies','PromotionController@getFavoriteCompanies');上测试中间件的路线

我还要添加的另一件事是,我正在尝试基于数据库中的access_token进行身份验证。我已更改登录控制器中的身份验证和凭据功能,如下所示:

protected function credentials(Request $request)
{
    return array_merge($request->header('authorization'));
}

public function authenticate(Request $request)
{
    $credentials = $request->header('authorization');

    if (Auth::attempt($credentials)) {
        // Authentication passed...
        return redirect()->intended('/');
    }
}

参考方案

只需将您的登录路径命名为login
Route::post('/login', 'LoginController@index')->name('login');

PHP Laravel从另一个驱动器读取文件 - php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…

Laravel 5排序具有关系的雄辩模型 - php

我有一个要基于关系属性进行排序的模型。主模型Resultado具有类型respondente的关系belongsTo,而respondente具有关系usuario。我想获取具有这些关系的Resultado并按usuario name属性(列)对结果进行排序。我试过了$resultados = Diagnostico\Resultado::with(…

检查对象是否已在集合中-Laravel - php

当我循环一系列不同的结果时,我希望将对象添加到新集合中。查询:$osRed = Item::where('category', 'Hardware') ->where(function ($query) { $query->where('operating_system', '…

Laravel @yield在刀片视图引擎的html标签中 - php

这可能吗?<html @yield( 'AngularNamespace' )> </html> 显然以上方法不起作用... 参考方案 这个对我有用。只要您的其他模板文件具有@section('AngularNamespace', 'NameSpaceHere')

Laravel-使用雄辩的语言在开始日期和结束日期之间选择行 - php

我想将此查询转换为雄辩的laravel,select * from schedule where (now() between start_date and end_date); 我尝试使用whereBetween,但是出现了一些错误。$schedule = Schedule::whereBetween(Carbon::now(), ['start…