最近做了一個項(xiàng)目,需要用戶登錄后,返回登陸前的頁面。
一般的邏輯是,用戶訪問某個頁面,判斷未登錄,跳轉(zhuǎn)到登陸界面,登陸成功后,返回訪問前的頁面。
按照laravel的一般情況來做:
//頭部引入
use URL
//登陸成功后執(zhí)行
return redirect(URL::previous());
結(jié)果發(fā)現(xiàn)跳轉(zhuǎn)的是登陸頁面,感覺很奇怪,最后發(fā)現(xiàn)是,我的登陸提交是一個新的方法,導(dǎo)致要返回之前的頁面,需要返回2次才可以。
解決,在跳轉(zhuǎn)到登陸界面的時候,將上次的網(wǎng)址記錄,登陸成功后,跳轉(zhuǎn)到記錄的網(wǎng)址,同時刪除記錄的網(wǎng)址。
use URL;
$request->session()->put('redirectPath', URL::previous());
$url = $request->session()->get('redirectPath');
$request->session()->forget('redirectPath');
return redirect($url);
以上這篇laravel 實(shí)現(xiàn)登陸后返回登陸前的頁面方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- laravel實(shí)現(xiàn)Auth認(rèn)證,登錄、注冊后的頁面回跳方法