PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-当会话在Laravel中过期时,将用户重定向到登录页面大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如果用户的会话已过期,我正在尝试将其重定向登录页面.我正在使用Laravel 5.5.我已经编辑了Re​​directIfAuthenticated文件,以在handle函数中包含以下代码

if (!Auth::check()) {
    return redirect()->route('login', ['account' => 'demo']);
}

当我这样做时,我收到以下错误消息:

我的登录路由位于子域路由组内,这就是为什么我传递account参数的原因.这是我在web.PHP中的代码的一部分

// Subdomain routIng
Route::domain('{account}.ems.dev')->group(function () {
    Route::get('/', 'LoginController@show')->name('login');
}

这是我的LoginController @ show代码

/*
 * Show the login form
 */
public function show($account) {
    // Validate this is a valid subdomain
    $organization = Organization::where('subdomain', $account)->first();

    if ($organization) { 
        return view('login');
    } else {
        return 'This account does not exist.';
    }
}

我没有尝试过任何工作.即使我传递了必需的参数,我仍然收到完全相同的错误消息.

更新#1

错误页面的屏幕截图:

php-当会话在Laravel中过期时,将用户重定向到登录页面

更新#2

经过一番摸索之后!错误页面,我看到了这一点,未授权的受保护功能是导致问题的原因:

php-当会话在Laravel中过期时,将用户重定向到登录页面

如何覆盖此函数添加缺少的参数?

解决方法:

您可以在app / Exceptions / Handler.PHP文件中重写unauthenticated()方法添加缺少的route参数.

use Illuminate\Auth\AuthenticationException;

class Handler extends ExceptionHandler
{
    protected function unauthenticated($request, AuthenticationException $exception)
    {
        return $request->expectsJson()
                    ? response()->json(['message' => $exception->getmessage()], 401)
                    : redirect()->guest(route('login', ['account' => $request->route('account')]));
    }
}

大佬总结

以上是大佬教程为你收集整理的php-当会话在Laravel中过期时,将用户重定向到登录页面全部内容,希望文章能够帮你解决php-当会话在Laravel中过期时,将用户重定向到登录页面所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: