Laravel未经认证没有触发

时间:2017-11-14 00:11:23

标签: php authentication laravel-5.4

我正在使用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

2 个答案:

答案 0 :(得分:0)

为了解决这个问题,我已经在验证渲染方法的代码中添加了代码,所以现在它在异常触发时正确调用unauthenticated。

非常奇怪,默认情况下它不会这样做。

答案 1 :(得分:0)

确保在AuthenticationException::class的{​​{1}}数组中包含$dontReport