Проблемы маршрутов в собственном пакете - Laravel 5.6 - PullRequest
0 голосов
/ 04 сентября 2018

Я создал пакет laravel, добавил маршруты, представления, миграции и т. Д. И связал его с моим проектом. До сих пор все правильно, но аутентификация не работает, единственное, что я сделал, - это сгенерировал маршруты аутентификации, как в обычном проекте laravel, и я добавил его в группу маршрутов следующим образом:

    <?php

use Illuminate\http\Request;

//That file is the package's web.php

Route::group(['namespace'=>'myPackage\Blog\Http\Controllers', 'middleware' => 'auth'], function(){
    Route::get('blog','BlogController@index')->name('blog');
    Route::post('blog', 'BlogController@send');


    Route::get('administrador', 'adminController@index')->name('administrador');
});

и это услуга моего пакетаProvider:

<?php

namespace Tetres\Blog;

use Illuminate\Support\ServiceProvider;


class BlogServiceProvider extends ServiceProvider{


    public function boot()
    {
        $this->loadRoutesFrom(__DIR__.'/routes/web.php');
        $this->loadViewsFrom(__DIR__.'/views', 'blog');
        $this->loadMigrationsFrom(__DIR__.'/database/migrations');
    }

    public function register()
    {

    }
}

просто добавив 'middleware' => 'auth', эти маршруты перестают работать, какая-то идея, что мне делать? Спасибо!

1 Ответ

0 голосов
/ 19 декабря 2018

Я столкнулся с той же проблемой. Расширение @ lagbox,

Добавить $this->middleware("web"); рядом с тем местом, где вы обычно указываете $this->middleware("auth");

Пример того, как вы будете это делать в __construct() вашего контроллера.

class my_controller extends Controller
{
    public function __construct()
    {
        $this->middleware("web");  // this will solve your problem
        $this->middleware("auth");      
    }
    ...
}

В вашем случае добавьте 'web' к своему промежуточному программному обеспечению:

//That file is the package's web.php

Route::group(['namespace'=>'myPackage\Blog\Http\Controllers', 'middleware' => ['web', 'auth']], function(){
    Route::get('blog','BlogController@index')->name('blog');
    Route::post('blog', 'BlogController@send');


    Route::get('administrador', 'adminController@index')->name('administrador');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...