我尝试委托我的 Laravel 代码。此时我有用户、权限和角色。
创建要访问“权限”==“管理-面板”的管理面板
我希望它是由文件 routes.php 完成的
我的文件:Middleware/EntrustMiddleware.php
class EntrustMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!Entrust::can('admin-panel')) {
return Redirect::to('home');
}
return $next($request);
}
}
路由.php
Route::get('admin-panel', ['middleware' => ['auth', 'Entrust'], function () {
}]);
我尝试了很多方法,但仍然不起作用。任何人都可以建议如何设置文件“routes.php”来访问“admin-panel/”只有当“permissions”==“admin-panel”时
- 编辑 -
当我使用这种方法时,我得到错误:
Route::group(['middleware' => ['Entrust']], function () {
//put your routes here
Route::get('/admin', 'Admin\AdminController@index');
});
Pipeline.php 第 136 行中的 ErrorException:call_user_func_array() 期望参数 1 是有效的回调,类 'Zizaco\Entrust\EntrustFacade' 没有方法 'handle'
--edit2--
['middleware' => ['permission:NAME']]
现在我明白了 :)
Contoller 我是否必须添加一些额外的安全性?