老帖子,但也许有人会觉得这很有用
如果用户是管理员,则向您的 User 模型添加一个返回 true 的方法。在我们这里的例子中,它只是“我们的 group_id 是否等于 3?”
// models/User.php
class User extends Eloquent
{
...
public function isAdmin()
{
return $this->group_id == 3;
}
}
接下来添加一个可以用来保护路由的过滤器
// filters.php
Route::filter('admin', function($route, $request)
{
if ( ! Auth::user()->isAdmin())
{
return App::abort(401, 'You are not authorized.');
}
});
最后使用过滤器保护一组路由。在这个简化的情况下,只有管理员用户可以访问/admin
// routes.php
Route::group(array('before' => array('auth|admin')), function()
{
Route::get('/admin', function()
{
return Response::make("You're an admin!");
}
});
基于这篇文章:
http: //laravelsnippets.com/snippets/admin-route-filter