欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

laravel實現(xiàn)Auth認證,登錄、注冊后的頁面回跳方法

 更新時間:2019年09月30日 10:13:07   作者:beyond__devil  
今天小編就為大家分享一篇laravel實現(xiàn)Auth認證,登錄、注冊后的頁面回跳方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

laravel自帶的 auth 認證中間件 - 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');
  }
 }

里面,對于檢測到用戶未登錄,重定向到登錄頁面,使用了 '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)前訪問的url鏈接!(用于我們登錄成功后,回跳回來!)

2.跳轉(zhuǎn)到,我們指定的登錄頁面

接著,自帶的auth機制中,看看它的登錄成功后的操作:

 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)!

這里,我想說明的一點是:

我們有時間覺得laravel很不好用,主要是我們對它內(nèi)部的東西,并不熟悉。就拿今天說的這個auth認證。不用laravel默認的登錄注冊可以,但仍需要借助它的Auth系列方法!因為很方便。包括這些 redirect() 的方法等。

今天記錄下,這個問題,怕過段時間又忘記了。登錄、注冊,借助redirect()的 guest() 和 intended(),免去了我們自己借助session或cookie,來記錄頁面的回跳地址,人家已經(jīng)集成了,還很優(yōu)美,為什么不用!

以上這篇laravel實現(xiàn)Auth認證,登錄、注冊后的頁面回跳方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論