Rumah >pembangunan bahagian belakang >tutorial php >laravel5.3中 auth middleware认证失败后的跳转地址

laravel5.3中 auth middleware认证失败后的跳转地址

WBOY
WBOYasal
2016-12-01 00:25:521890semak imbas

在laravel5.3里 auth middleware 直接放在了illuminate里 然后如果用户未登录会执行
laravel5.3中 auth middleware认证失败后的跳转地址

他默认跳转的是/login 地址 我想修改跳转地址到/user/login

5.2的话还比较能理解 5.3这边是怎样的一个实现?

回复内容:

在laravel5.3里 auth middleware 直接放在了illuminate里 然后如果用户未登录会执行
laravel5.3中 auth middleware认证失败后的跳转地址

他默认跳转的是/login 地址 我想修改跳转地址到/user/login

5.2的话还比较能理解 5.3这边是怎样的一个实现?

这个需要修改app\Exceptions\Handler.php文件,最下面有一个 unauthenticaticated 方法

<code>/**
 * Convert an authentication exception into an unauthenticated response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Illuminate\Auth\AuthenticationException  $exception
 * @return \Illuminate\Http\Response
 */
protected function unauthenticated($request, AuthenticationException $exception)
{
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Unauthenticated.'], 401);
    }
    // 这里的login修改为user/login
    return redirect()->guest('login');
}</code>

自定义redirect?

<code>return redirect()->route('user.login');</code>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn