Zum Schutz aller admin/ Routen mit auth in Laravel

Ich bin ganz neu auf laravel und bin einrichten von admin-panel Autorisierung auf meine erste Anwendung. Die Art, wie ich meine Dateien setup setup derzeit ist:

controllers/
    admin/
        dashboard.php
        settings.php
    non-admin-controller1.php
    non-admin-controller1.php
views/
    admin/
        dashboard.blade.php
        login.blade.php
        template.blade.php
    non-admin-view1.php
    non-admin-view1.php
    non-admin-view1.php

...und das sind meine Routen

Route::get('admin/login', function()
{
    return View::make('admin.login');
});

Route::get('admin/logout', function()
{
    return Auth::logout();
    return Redirect::to('admin/login');
});

Route::post('admin/login', function()
{
    $userdata = array('username' => Input::get('username'),
                      'password' => Input::get('password'));

    if (Auth::attempt($userdata))
    {
        return Redirect::to('admin');
    }
    else
    {
        return Redirect::to('admin/login')->with('login_errors',true);
    }
});

Route::controller('admin.dashboard');

Route::get('admin', array('before' => 'auth', function() {
    return Redirect::to_action('admin@dashboard');
}));

Route::filter('auth', function()
{
    if (Auth::guest()) return Redirect::to('admin/login');
});

Wenn ich auf /admin ich bin umgeleitet admin/login und zum einloggen aufgefordert und das ist genau, wie ich es brauche, um zu arbeiten. Beim einloggen bin ich umgeleitet auf admin/dashboard und es sieht alles gut auch. Ich habe 2 Probleme jedoch.

  1. Wenn ich auf admin/logout-ich bin abgemeldet, aber begrüßte mit einer leeren Seite (es ist nicht umleiten zu admin/login)
  2. Wenn Sie abgemeldet sind, wenn ich gehe zu admin/dashboard begrüsst mich mit dem Fehler

Fehler rendering anzeigen: [admin.dashboard]

Trying to get property of non-object

Was mache ich hier falsch? Was mache ich richtig? Würde es mehr Sinn machen, erstellen Sie ein separates Paket für admin? Danke!

InformationsquelleAutor Yev | 2013-04-04

Schreibe einen Kommentar