我基本上想要的是用户权限。
我的数据库中有一个名为'accounts'的表。有一个名为'group_id'的列。 我想在'group_id'= 3时设置它,然后用户是admin。然后他可以查看特殊网站,按钮和类似的东西。我试图实现类似的东西:
public function ($roleName) {
$role = $this->roles;
if ($role->name == $roleName) {
return true;
}
return false;
}
另外,我不知道需要什么以及如何使用该模型,我需要一个新的类似的东西。
答案 0 :(得分:6)
旧帖子,但也许有人会发现这个有用的
向User模型添加一个方法,如果用户是admin,则返回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
答案 1 :(得分:4)
我建议Laravel 4的Authority
答案 2 :(得分:1)
我个人使用Verify包进行用户管理。