Package: Roles 包异常处理的问题

再看了“使用第三方Package: Roles”视频后,参照github上的包得说明尝试使用了,但发现一个关于异常处理的问题。

问题具体描述如下:

官方文档中说到使用其自带的中间件可以进行权限控制,当没有权限时会抛出\Bican\Roles\Exceptions\RoleDeniedException, \Bican\Roles\Exceptions\PermissionDeniedException 或者\Bican\Roles\Exceptions\LevelDeniedException异常,只需在app/Exceptions/Handler.php进行相关定义异常处理代码。

routes.php:

use Illuminate\Support\Facades\Auth;

Route::get('/', function () {   

Auth::logout();    

Auth::loginUsingId(2);    

return Auth::user()->id;

});

Route::get('/user', [    

'middleware' => 'role:delete.users',    

'uses' => 'UserController@index'   

 ]);<br></br>

handler.php

public function render($request, Exception $e)    {        

 if ($e instanceof ModelNotFoundException) {            

$e = new NotFoundHttpException($e->getMessage(), $e);        

}        

if ($e instanceof \Bican\Roles\Exceptions\RoleDeniedException) {            

return redirect()->back();        

}       

 if ($e instanceof \Bican\Roles\Exceptions\PermissionDeniedException) {            

return redirect()->back();       

 }        

if ($e instanceof \Bican\Roles\Exceptions\LevelDeniedException) {            

return redirect()->back();        

}        

return parent::render($request, $e);    

}<br></br>

当拥有权限时可以正产访问UserController@index当没有权限时直接报出500错误,并没有和预想中的back();为了找出原因我尝试在handler.php文件中echo一些信息,发现render()并没有执行。

thirdriver
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!