Laravel - Wie redirect auf login, wenn der Benutzer nicht authentifiziert

Ich versuche, die __constructor von der erweiterten Klasse (AdminController erstreckt AdminBaseController), aber sich es nicht funktioniert und ich keine Ahnung habe, was sein kann, sehen Sie hier meine beiden Klassen:

AdminBaseController.php

class AdminBaseController extends Controller
{
    public function __construct(){
        if (!Auth::user()){
            return view('admin.pages.login.index');
        }
    }
}

AdminController.php

class AdminController extends AdminBaseController
{
    public function __construct(){
        parent::__construct();
    }

    public function index()
    {
        return view('admin.pages.admin.index');
    }

    public function ajuda()
    {
        return view('admin.pages.admin.ajuda');
    }
}

BEARBEITEN


Dies ist mein admin route-Gruppe:

Route::group([
    'prefix' => 'admin',
    'middleware' => 'auth'
], function () {
    Route::get('/', 'Admin\AdminController@index');

    Route::get('login', 'Admin\AuthController@getLogin');
    Route::post('login', 'Admin\AuthController@postLogin');
    Route::get('logout', 'Admin\AuthController@getLogout');

    Route::group(['prefix' => 'configuracoes'], function () {
        Route::get('geral', 'Admin\AdminConfiguracoesController@geral');
        Route::get('social', 'Admin\AdminConfiguracoesController@social');
        Route::get('analytics', 'Admin\AdminConfiguracoesController@analytics');
    });

    Route::get('ajuda', 'Admin\AdminController@ajuda');
});
  • Sie tun nicht alles, was im inneren AdminController::construct() so können Sie vermeiden, es zu schreiben, und die Klasse seiner Eltern-Konstruktor. Aus der Frage nicht klar ist: was ist das problem ?
  • Ich habe eine Menge Controller für den admin-Bereich, und zu vermeiden, code wiederholen, ich war das denken in überprüfen Sie, ob der Benutzer auth mit der __constructor innen AdminBaseController
  • ok. Sollten Sie eine middleware zu überprüfen, ob der Benutzer ein admin
  • ich habe eine Antwort, die erklären, wie die Verwendung einer middleware
Schreibe einen Kommentar