Php 来宾学生和管理员身份验证

Php 来宾学生和管理员身份验证,php,laravel,laravel-4,laravel-routing,Php,Laravel,Laravel 4,Laravel Routing,我试图用Laravel4管理用户角色,但我不清楚它是如何工作的,所以我需要一些解释。 这就是我想做的: 如果用户是来宾(未登录),则重定向到路由/ 如果记录的用户角色等于student,则重定向到student/books 如果记录的用户角色等于admin,请重新定位到admin/index 我想要的是使用slug和用户角色进行过滤。user表包含以下列: first_name | email | password |role 顺便说一句,我是拉威尔的新手,所以我需要一个更好的解释 我假设我需

我试图用Laravel4管理用户角色,但我不清楚它是如何工作的,所以我需要一些解释。 这就是我想做的:

如果用户是来宾(未登录),则重定向到路由
/

如果记录的用户角色等于
student
,则重定向到
student/books

如果记录的用户角色等于
admin
,请重新定位到
admin/index

我想要的是使用slug和用户角色进行过滤。
user
表包含以下列:

first_name | email | password |role
顺便说一句,我是拉威尔的新手,所以我需要一个更好的解释

我假设我需要的步骤是:

  • filters.php
  • routes.php中创建路由组

我假设您在会话
Auth::user()->role

filters.php

Route::filter('isAdmin', function()
{
    if (Auth::guest() || Auth::user()->role !== "admin")
    {
        return Redirect::to('/');
    }
    elseif(Auth::user()->role == "admin"){

    }

});


Route::filter('isStudent', function()
{
    if (Auth::guest() || Auth::user()->role !== "student")
    {
        return Redirect::route('adm_index');
    }        }
    elseif(Auth::user()->role == "student"){
        return Redirect::route('std_books');
    }
});
Route::group(array('before' => 'isStudent'), function()
{    
    Route::get('student/books',array('as'=>'std_books','uses'=>'BookController@method_name'));
});

Route::group(array('before' => 'isAdmin'), function()
{    
    Route::get('admin/index',array('as'=>'adm_index','uses'=>'AdminController@method_name'));  
});
routes.php

Route::filter('isAdmin', function()
{
    if (Auth::guest() || Auth::user()->role !== "admin")
    {
        return Redirect::to('/');
    }
    elseif(Auth::user()->role == "admin"){

    }

});


Route::filter('isStudent', function()
{
    if (Auth::guest() || Auth::user()->role !== "student")
    {
        return Redirect::route('adm_index');
    }        }
    elseif(Auth::user()->role == "student"){
        return Redirect::route('std_books');
    }
});
Route::group(array('before' => 'isStudent'), function()
{    
    Route::get('student/books',array('as'=>'std_books','uses'=>'BookController@method_name'));
});

Route::group(array('before' => 'isAdmin'), function()
{    
    Route::get('admin/index',array('as'=>'adm_index','uses'=>'AdminController@method_name'));  
});

我建议对用户角色和权限使用Zizaco的委托包:它是使用最多的用户/角色包之一,学习它比自己创建系统更容易。