Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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
Php 在laravel 5.3中实施哨兵许可_Php_Permissions_Laravel 5.3_Sentinel - Fatal编程技术网

Php 在laravel 5.3中实施哨兵许可

Php 在laravel 5.3中实施哨兵许可,php,permissions,laravel-5.3,sentinel,Php,Permissions,Laravel 5.3,Sentinel,我计划在laravel 5.3中实现sentinel的权限。我已经在config文件夹中创建了permissions.php config/permissions.php文件 <?php return array( 'User Management -> Role Management' => array( array( 'permission' => 'role-management.view',

我计划在laravel 5.3中实现sentinel的权限。我已经在config文件夹中创建了
permissions.php

config/permissions.php文件

<?php

return array(

    'User Management -> Role Management' => array(
        array(
            'permission' => 'role-management.view',
            'label'      => 'View',
        ),
        array(
            'permission' => 'role-management.create',
            'label'      => 'Create',
        ),
        array(
            'permission' => 'role-management.edit',
            'label'      => 'Edit',
        ),
        array(
            'permission' => 'role-management.delete',
            'label'      => 'Delete',
        ),
    ),

    'User Management -> User Management' => array(
        array(
            'permission' => 'user-management.view',
            'label'      => 'View',
        ),
        array(
            'permission' => 'user-management.create',
            'label'      => 'Create',
        ),
        array(
            'permission' => 'user-management.edit',
            'label'      => 'Edit',
        ),
        array(
            'permission' => 'user-management.delete',
            'label'      => 'Delete',
        ),
    ),

);
Route::get('/manage-role/edit/{slug}', ['as' => 'edit', 'uses' => 'RoleController@edit']);
我的控制器方法如下所示

public function edit($slug)
{
    //get selected role ex: admin, manager or user
    $role = Sentinel::findRoleBySlug($slug);

    $permissions = Config::get('permissions');

    foreach ($permissions as $permission) {

        foreach ($permission as $eachPermission) {

            $encodedPermission = base64_encode($eachPermission['permission']);

            $eachPermission['encodedPermission'] = $encodedPermission;

        }
    }

    //return view
    return view('backend.admin.user-management.edit-role', [
        'role'        => $role,
        'permissions' => $permissions
    ]);
}
我的观点是这样的,我去掉了bootstrap和其他,只是为了关注逻辑

编辑role.blade.php

<form action="" method="post"> 
    @foreach ($permissions as $permissionHeader => $permissions)

        <h3 class="box-title">{{ $permissionHeader }}</h3>


        @foreach ($permissions as $key => $permission)
            <label class="control-group">{{{ $permission['label'] }}}</label>

                <input type="radio" name="{{ $permission['label'] }}" class="flat-red" checked> Enable

                <input type="radio" name="{{ $permission['label'] }}" class="flat-red"> Disable
            </label>
        @endforeach

    @endforeach
    <button type="submit" class="btnRoleForm btn btn-success">Save Roles</button>
    </div>
</form>

@foreach($permissionas$permissionHeader=>$permissions)
{{$permissionHeader}
@foreach($key=>$permission的权限)
{{{$permission['label']}}}
使可能
使残废
@endforeach
@endforeach
保存角色
这是一个用于从管理仪表板设置manager权限的图像

我想检查每个类型(用户管理、角色管理等)的每个权限创建、查看、更新和删除的单选按钮。我现在被绊倒了

当我在blade中使用
name=“{{{$permission['encodedppermission']}}”
时,我得到一个错误。此键未在数组中设置

我想设置保存按钮的所有权限。我的做法是否正确,或者是否有其他有效的方法来做到这一点。需要帮助