我正在使用rappasoft / laravel-5-boilerplate。
有一个奇怪的问题,我正在使用'auth'中间件进行路由。测试对需要登录的页面的访问权限。未登录时,将显示“未经身份验证的异常”错误,并且不会重定向到“登录”屏幕。在Handler.php文件中存在unauthenticated并且具有重定向到登录屏幕的代码,但是从不调用此函数!
为什么不在Illuminate \ Auth \ AuthenticationException上调用未经身份验证的函数?这没有意义。
路线:
Route::group(['middleware' => 'auth'], function () {
Route::get('project/add', 'Project\ProjectController@create')-
>name('project.add');
});
例外/ Handler.php
protected function unauthenticated( $request, AuthenticationException $exception )
{
if ( $request->expectsJson() ) {
return response()->json( [ 'error' => 'Unauthenticated.' ], 401 );
}
return redirect()->guest( route( 'frontend.auth.login' ) );
}
然后进行测试,我只是访问:http://px.app/project/add
答案 0 :(得分:0)
为了解决这个问题,我已经在验证渲染方法的代码中添加了代码,所以现在它在异常触发时正确调用unauthenticated。
非常奇怪,默认情况下它不会这样做。
答案 1 :(得分:0)
确保在AuthenticationException::class
的{{1}}数组中包含$dontReport
。