【发布时间】:2017-11-22 18:42:19
【问题描述】:
我正在尝试在 Laravel 5.2 上运行的应用程序中使用 Entrust ACL。我已经按照 Entrust 的 GitHub 页面上的说明安装了该软件包,一切顺利。
我已经在我的 routes.php 中添加了这个路由组
Route::group(['namespace' => 'Backend', 'prefix' => 'admin', 'middleware' => ['auth']], function () {
Route::get('roles',['as'=>'roles','uses'=>'RoleController@index','middleware' => ['permission:role-list|role-create|role-edit|role-delete']])->name('admin.roles');
Route::get('roles/create',['as'=>'roles.create','uses'=>'RoleController@create','middleware' => ['permission:role-create']])->name('admin.roles.create');
Route::post('roles/create',['as'=>'roles.store','uses'=>'RoleController@store','middleware' => ['permission:role-create']])->name('admin.roles.create');
});
这是我的角色控制器
class RoleController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$roles = Role::orderBy('id','DESC')->paginate(5);
return view('backend.roles.index',compact('roles'))->with('i', ($request->input('page', 1) - 1) * 5);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$permission = Permission::get();
return view('backend.roles.create',compact('permission'));
}
}
查看文件位于resources/views/backend/roles/。我认为路线有问题,但不明白是什么。
当我尝试打开 http://localhost/admin/roles 时,我遇到了这个错误:
Application.php 第 905 行中的 HttpException:
在 Application.php 第 905 行
在 Application->abort('403', '', array()) 在 helpers.php 第 30 行 在 EntrustPermission.php 第 39 行中的 abort('403') 处
在 EntrustPermission->handle(object(Request), object(Closure), 'role-list|role-create|role-edit|role-delete')
在 call_user_func_array(array(object(EntrustPermission), 'handle'), array(object(Request), object(Closure), 'role-list|role-create|role-edit|role-delete')) Pipeline.php 第 136 行
知道我在这里做错了什么吗?
现在我的视图中有Route [roles.create] not defined.:
@permission('role-create')
<a class="btn btn-success" href="{{ route('roles.create') }}"> Create New Role</a>
@endpermission
【问题讨论】: