laravel實(shí)現(xiàn)Auth認(rèn)證,登錄、注冊(cè)后的頁(yè)面回跳方法
laravel自帶的 auth 認(rèn)證中間件 - app/Http/Middleware/Authenticate.php
查看源碼:
if (Auth::guard($guard)->guest()) { if ($request->ajax() || $request->wantsJson()) { return response('Unauthorized.', 401); } else { return redirect()->guest($guard.'/login'); } }
里面,對(duì)于檢測(cè)到用戶(hù)未登錄,重定向到登錄頁(yè)面,使用了 'redirect()->guest()' 的方法!
可查看guest()源碼:
public function guest($path, $status = 302, $headers = [], $secure = null) { $this->session->put('url.intended', $this->generator->full()); // 設(shè)置回跳地址 return $this->to($path, $status, $headers, $secure); }
做了2件事:
1.給session中,設(shè)置了當(dāng)前訪問(wèn)的url鏈接!(用于我們登錄成功后,回跳回來(lái)!)
2.跳轉(zhuǎn)到,我們指定的登錄頁(yè)面
接著,自帶的auth機(jī)制中,看看它的登錄成功后的操作:
protected function handleUserWasAuthenticated(Request $request, $throttles) { if ($throttles) { $this->clearLoginAttempts($request); } if (method_exists($this, 'authenticated')) { return $this->authenticated($request, Auth::guard($this->getGuard())->user()); } return redirect()->intended($this->redirectPath()); // 獲取回跳地址 }
獲取到之前的 '回跳地址',跳轉(zhuǎn)!
這里,我想說(shuō)明的一點(diǎn)是:
我們有時(shí)間覺(jué)得laravel很不好用,主要是我們對(duì)它內(nèi)部的東西,并不熟悉。就拿今天說(shuō)的這個(gè)auth認(rèn)證。不用laravel默認(rèn)的登錄注冊(cè)可以,但仍需要借助它的Auth系列方法!因?yàn)楹芊奖?。包括這些 redirect() 的方法等。
今天記錄下,這個(gè)問(wèn)題,怕過(guò)段時(shí)間又忘記了。登錄、注冊(cè),借助redirect()的 guest() 和 intended(),免去了我們自己借助session或cookie,來(lái)記錄頁(yè)面的回跳地址,人家已經(jīng)集成了,還很優(yōu)美,為什么不用!
以上這篇laravel實(shí)現(xiàn)Auth認(rèn)證,登錄、注冊(cè)后的頁(yè)面回跳方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Laravel 5.1 框架Blade模板引擎用法實(shí)例分析
這篇文章主要介紹了Laravel 5.1 框架Blade模板引擎用法,結(jié)合實(shí)例形式分析了laravel5.1框架Blade模板引擎基本功能、創(chuàng)建、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-01-012個(gè)Codeigniter文件批量上傳控制器寫(xiě)法例子
這篇文章主要介紹了2個(gè)Codeigniter文件批量上傳控制器寫(xiě)法例子,需要的朋友可以參考下2014-07-07WordPress中對(duì)訪客評(píng)論功能的一些優(yōu)化方法
這篇文章主要介紹了WordPress中對(duì)訪客評(píng)論功能的一些優(yōu)化,包括顯示評(píng)論上的歡迎信息等功能,需要的朋友可以參考下2015-11-11laravel實(shí)現(xiàn)于語(yǔ)言包的完美切換方法
今天小編就為大家分享一篇laravel實(shí)現(xiàn)于語(yǔ)言包的完美切換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09使用laravel和ajax實(shí)現(xiàn)整個(gè)頁(yè)面無(wú)刷新的操作方法
今天小編就為大家分享一篇使用laravel和ajax實(shí)現(xiàn)整個(gè)頁(yè)面無(wú)刷新的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10thinkphp3.2.2前后臺(tái)公用類(lèi)架構(gòu)問(wèn)題分析
這篇文章主要介紹了thinkphp3.2.2前后臺(tái)公用類(lèi)架構(gòu)問(wèn)題,以實(shí)例形式較為詳細(xì)的分析了前后臺(tái)公用類(lèi)的簡(jiǎn)單調(diào)用方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11關(guān)于php微信訂閱號(hào)開(kāi)發(fā)之token驗(yàn)證后自動(dòng)發(fā)送消息給訂閱號(hào)但是沒(méi)有消息返回的問(wèn)題
最近做了個(gè)項(xiàng)目,當(dāng)token驗(yàn)證之后,發(fā)送消息給訂閱號(hào),但是沒(méi)有消息返回,下面小編通過(guò)本篇文章給大家分享我的解決辦法2015-12-12