簡體   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