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时看到此框架的强大功能
希望有帮助
然后检查用户是否