91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Laravel中使用自帶的Auth驗證登錄

發布時間:2021-05-18 17:18:36 來源:億速云 閱讀:382 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在Laravel中使用自帶的Auth驗證登錄,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

第一步:配置方面

在config下的auth.php配置guards 和 providers 。 之后新建文件和數據庫名稱要和這里的對應。

'guards' => [
  'web' => [
   'driver' => 'session',
   'provider' => 'users',
  ],

  'api' => [
   'driver' => 'token',
   'provider' => 'users',
  ],
  //Laravel Auth 驗證登錄
  'admin' => [
   'driver' => 'session',
   'provider' => 'admins',
  ]

 ],
'providers' => [
  'users' => [
   'driver' => 'eloquent',
   'model' => App\User::class,
  ],

  'admins' => [
   'driver' => 'eloquent',
   'model' => App\Admin::class,
  ],

  // 'users' => [
  //  'driver' => 'database',
  //  'table' => 'users',
  // ],
 ],

第二步:數據庫方面

1 新建admins表,作為后臺用戶表

怎么在Laravel中使用自帶的Auth驗證登錄

其中remember_token 用于是否記住用戶

2 在app目錄下新建Admin.php 文件對應,文件名稱取決于配置文件中的名稱

<?php
namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;

class Admin extends Authenticatable
{

 protected $fillable = [
  'username', 'password',
 ];

 protected $hidden = [ 
  //remember_token 字段用于記住我的功能
  'password', 'remember_token',
 ];

 public static $rules = [
  'username'=>'required',
  'password'=>'required'
 ];
}

怎么在Laravel中使用自帶的Auth驗證登錄

第三步:控制器中auth的使用

Auth::guard('admin')->attempt($credentials)); 嘗試登錄
Auth::guard($guard)->guest();判斷用戶是否來賓,可用于中間件,判斷用戶是否登錄,返回false,則已經登錄,反之,跳轉會登錄頁面
Auth::guard($guard)->user();獲取已經登錄的用戶信息,注意在__construct()中無法獲取,可以在中間件里面獲取
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class AdminAuthMiddleware
{
 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = null)
 {
  //如果沒有指定的話,默認 guard 是 web,
  //dump(Auth::guard($guard)->check()); 判斷用戶是否認證
  //Auth::guard($guard)->user() 獲取用戶信息
  //Auth::guard($guard)->guest() 是否是來賓
 if(Auth::guard($guard)->guest()){
 if($request->ajax() || $request->wantsJson()){
 return response('Unauthorized.', 401);
 }else{
 return redirect()->guest('admin/login');
 }
 }

  return $next($request);
 }
}
 $credentials = $request->only('username', 'password');

   /**
    * 使用laravel自帶的Auth登錄
    * 1、密碼使用的是hash加密 $crypt = password_hash($password, PASSWORD_DEFAULT);
    */
   if(Auth::guard('admin')->attempt($credentials)){
    return response()->json(['code' => 200, 'msg' => '登錄成功']);
   }else{
    return response()->json(['code' => 403, 'msg' => '用戶名或密碼錯誤']);
   }

Laravel 是什么

Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。

看完上述內容,你們對怎么在Laravel中使用自帶的Auth驗證登錄有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南昌县| 岫岩| 北海市| 堆龙德庆县| 陈巴尔虎旗| 黑水县| 玉门市| 高州市| 泰兴市| 榕江县| 济源市| 吐鲁番市| 神农架林区| 蚌埠市| 三江| 宝清县| 台湾省| 平湖市| 精河县| 崇义县| 南澳县| 富民县| 兰州市| 萍乡市| 东至县| 宜阳县| 苏尼特右旗| 上饶县| 德清县| 新闻| 那曲县| 合作市| 盐边县| 常宁市| 庐江县| 五常市| 万全县| 合山市| 额尔古纳市| 洛隆县| 玉环县|