繁体   English   中英

我要在用户登录后将他们重定向到个人资料页面

[英]I want to redirect users when they after login, to profile page

我想在用户登录时将其重定向到个人资料页面。但是,它将用户定向到主页('/')页面。 有时,如果我以隐身模式打开它,它会起作用。 但并非每次都如此。

以下是我的登录控制器

class LoginController extends Controller
{  

    use AuthenticatesUsers;

    protected function redirectTo()
    {
        return '/profile';
    }

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct(Request $request)
    {
        if($email = $request->user) {

            $user = User::where('email', $email)->first();

            if($user && $user->auto_login_key == $request->key) {
                Auth::loginUsingId($user->id);
            } else {
                Redirect::to('/login')->send();
            }
        }

        $this->middleware('guest')->except('logout');
    }
}

这是我的重定向身份验证的miidleware

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/profile');
        }

        return $next($request);
    }
}

您可以使用return redirect('/profile'); 在您的身份验证功能中,例如:

    public function __construct(Request $request)
{
    if($email = $request->user) {

        $user = User::where('email', $email)->first();

        if($user && $user->auto_login_key == $request->key) {
            Auth::loginUsingId($user->id);
            return redirect('/profile');
        } else {
            Redirect::to('/login')->send();
        }
    }

    $this->middleware('guest')->except('logout');
}

在任何地方都不要更改任何内容。 在您的LoginController中 ,只需将$redirectTo变量更改为'/profile'

/**
 * Where to redirect users after login.
 *
 * @var string
 */
protected $redirectTo = '/profile';

由于它以隐身方式工作,因此问题仅在于缓存。 您可以通过按Ctrl + F5来重新加载(重新加载和清除缓存)

据我了解您的问题,您必须在进行此类更改后首先清除缓存,并确保浏览器缓存是清除的。

 return redirect('/profile');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM