Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 4 在laravel中创建管理权限部分_Laravel 4 - Fatal编程技术网

Laravel 4 在laravel中创建管理权限部分

Laravel 4 在laravel中创建管理权限部分,laravel-4,Laravel 4,我已经创建了几个页面,它们是用户、组和权限。 我想管理员能够创建组,并通过权限页面设置这些组可以做什么 因此,在“权限”页面上,我会列出用户可以执行的操作,例如:添加内容、删除内容 如果我选中添加内容框,则组只能添加内容,不能删除内容 我遇到的问题是,我不知道去哪里寻找关于如何去做的信息。我已经建立了我的数据库,我想也许会话和路由是可行的,但我不确定。框架是解决如此复杂问题的方法。我正在为我的工作做一个非常类似的项目(一个根据用户角色/权限做不同事情的仪表板),我发现如果不使用框架,管理起来非常

我已经创建了几个页面,它们是用户、组和权限。 我想管理员能够创建组,并通过权限页面设置这些组可以做什么

因此,在“权限”页面上,我会列出用户可以执行的操作,例如:添加内容、删除内容

如果我选中添加内容框,则组只能添加内容,不能删除内容


我遇到的问题是,我不知道去哪里寻找关于如何去做的信息。我已经建立了我的数据库,我想也许会话和路由是可行的,但我不确定。

框架是解决如此复杂问题的方法。我正在为我的工作做一个非常类似的项目(一个根据用户角色/权限做不同事情的仪表板),我发现如果不使用框架,管理起来非常困难。我强烈推荐Cartalyst/Sentry。它将复杂的数据库操作(如检查权限、更新权限、创建组等)转化为简单的数据库操作。以下是手册的链接:

它已经为您创建了一个数据库后端(并且可以修改),因此您只需按照安装说明和文档进行操作,就可以更好地理解它。在您的示例中,创建组及其权限非常简单:

// Define permissions (1 is allowed, 0 is not allowed)
$permissions = array('content.create' => 1, 'content.delete' => 1, etc etc...));
$group = Sentry::createGroup(array('name' => 'Admin', 'permissions' => $permissions));
创建用户并将其添加到组:

$user = Sentry::createUser(array('email' => 'test@test.com', 'first_name' => ..., etc));
$group = Sentry::findGroupByName('Admin');
$user->addGroup($group);
然后在路由过程中检查其权限:

$user = Sentry::check(); // Aka get the current user.
if($user->hasAccess('content.create'){ 
    // Continue
} else {
    // Redirect to error page, etc
}
现在,这是对系统的简要概述,我假设您知道如何使用控制器和路由,但请尝试一下,我相信您会在使用Laravel时看到此框架的强大功能

希望有帮助

然后检查用户是否