gpt4 book ai didi

php - 如何在 Laravel 4 中实现用户权限?

转载 作者:可可西里 更新时间:2023-11-01 00:02:49 24 4
gpt4 key购买 nike

我基本上想要的是用户权限。

我的数据库中有一个名为“accounts”的表。有一列名为“group_id”。我想在 'group_id' = 3 时设置它,然后用户是管理员。然后他可以查看特殊站点、按钮和类似的东西。我试图实现类似的东西:

public function ($roleName) {
$role = $this->roles;

if ($role->name == $roleName) {
return true;
}

return false;
}

此外,我不知道模型需要什么以及如何使用,我是否需要一个新模型之类的东西。

最佳答案

旧帖子,但也许有人会觉得这有用

向您的用户模型添加一个方法,如果用户是管理员则返回 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

关于php - 如何在 Laravel 4 中实现用户权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com