Laravel 4 Laravel 4:基于权限限制对视图的访问

Laravel 4 Laravel 4:基于权限限制对视图的访问,laravel-4,filter,laravel-routing,Laravel 4,Filter,Laravel Routing,我在《拉维4》和《教义2》中建立了一系列的形式。我希望能够根据用户的权限级别(无、查看、查看和编辑、查看编辑和删除)限制对每个表单子系统的访问 在我的数据库中,我有一个名为“libForms”的表,其中存储了每个表单子部分(id、form_name、view_foldername)。我还有一个“用户”表,其中包含所有典型的用户信息。添加新用户时,第三个表“permissions”将填充该特定用户当前在系统中的每个表单的访问级别为“0”(无) 创建新表单时,我还将其设置为在app/views目录中

我在《拉维4》和《教义2》中建立了一系列的形式。我希望能够根据用户的权限级别(无、查看、查看和编辑、查看编辑和删除)限制对每个表单子系统的访问

在我的数据库中,我有一个名为“libForms”的表,其中存储了每个表单子部分(id、form_name、view_foldername)。我还有一个“用户”表,其中包含所有典型的用户信息。添加新用户时,第三个表“permissions”将填充该特定用户当前在系统中的每个表单的访问级别为“0”(无)

创建新表单时,我还将其设置为在app/views目录中创建新目录的位置。此目录的名称是表单名称的camelCase版本

我想做的是限制访问访问级别为“0”(无)的用户访问app/views/folderName中的任何视图。任何没有访问权限的用户都应该返回主页

到目前为止,我已经想出了一些办法,比如:

Route::filter('formAuth', function()
{
$entityManager = App::make('Doctrine\ORM\EntityManagerInterface');


//get current user
$current_user = $entityManager->getRepository('User')->find(Session::get('my_userid'));

//check user's permission level for this section of forms
$form_route = $entityManager->getRepository('LibForm')->findOneBy(array('route_name' => Request::segment(1)));

...
});
然后在控制器的构造函数中调用此筛选器

$this->beforeFilter('formAuth');

我不认为这一切都是正确的,我只是在每次想到其他事情的时候更加困惑自己

尝试限制生成输出的方法/路由,而不是
查看
。好的调用。我仍然不确定我是否用正确的方法来解决这个问题,但这可能是我问这个问题的正确方法。