Laravel 有委托的路线
Laravel routes with entrust
我尝试在我的 Laravel 代码中进行委托。
此时我有用户、权限和角色。
创建您要访问的管理面板 "permissions" == "admin - panel"
我希望它是由文件完成的 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);
}
}
routes.php
Route::get('admin-panel', ['middleware' => ['auth', 'Entrust'], function () {
}]);
我试了很多方法,还是不行。任何人都可以建议如何设置文件“routes.php”以访问“管理面板/”仅当 "permissions" == "admin-panel"
--编辑--
当我使用此方法时出现错误:
Route::group(['middleware' => ['Entrust']], function () {
//put your routes here
Route::get('/admin', 'Admin\AdminController@index');
});
Pipeline.php 第 136 行中的错误异常:call_user_func_array() 期望参数 1 是有效的回调,class 'Zizaco\Entrust\EntrustFacade' 没有方法 'handle'
--edit2--
['middleware' => ['permission:NAME']]
现在我明白了:)
Contoller 是否必须添加一些额外的安全性?
如果您正在使用 entrust
,对于您想要允许特定 roles
访问的所有那些 routes
,您只需将其放入组中即可工作,据说,这是它的样子,
Route::group(['middleware' => ['add roles name here']], function () {
//put your routes here
});
我尝试在我的 Laravel 代码中进行委托。 此时我有用户、权限和角色。
创建您要访问的管理面板 "permissions" == "admin - panel"
我希望它是由文件完成的 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);
}
}
routes.php
Route::get('admin-panel', ['middleware' => ['auth', 'Entrust'], function () {
}]);
我试了很多方法,还是不行。任何人都可以建议如何设置文件“routes.php”以访问“管理面板/”仅当 "permissions" == "admin-panel"
--编辑--
当我使用此方法时出现错误:
Route::group(['middleware' => ['Entrust']], function () {
//put your routes here
Route::get('/admin', 'Admin\AdminController@index');
});
Pipeline.php 第 136 行中的错误异常:call_user_func_array() 期望参数 1 是有效的回调,class 'Zizaco\Entrust\EntrustFacade' 没有方法 'handle'
--edit2--
['middleware' => ['permission:NAME']]
现在我明白了:)
Contoller 是否必须添加一些额外的安全性?
如果您正在使用 entrust
,对于您想要允许特定 roles
访问的所有那些 routes
,您只需将其放入组中即可工作,据说,这是它的样子,
Route::group(['middleware' => ['add roles name here']], function () {
//put your routes here
});