【发布时间】:2016-10-02 06:59:24
【问题描述】:
我尝试委托我的 Laravel 代码。 目前我有用户、权限和角色。
创建要访问“权限”的管理面板==“管理-面板”
我希望它是由文件 routes.php 完成的
我的文件: 中间件/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);
}
}
routes.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 是否必须添加一些额外的安全性?
【问题讨论】: