自定義登錄認(rèn)證驅(qū)動

登錄認(rèn)證驅(qū)動

關(guān)于laravel框架中默認(rèn)的認(rèn)證(開箱即用)

通過一下命令,生成一系列的驗證文件帝火。包括

  • 登錄,注冊市怎,忘記密碼控制器
  • 登錄,注冊蕴侣,忘記密碼頁面
  • 一個集合的路由 Auth::routes(); 路由中包括登錄焰轻,注冊,忘記密碼
  • 一個用戶模型
  • 生成相關(guān)表的遷移
php artisan make:auth

自定義用戶表登錄

  1. 配置auth.php 文件
    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],

        <!--'admin' => [-->
        <!--    'driver' => 'session',-->
        <!--    'provider' => 'admins',-->
        <!--],-->
    ],
    
    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\User::class,
        ],

        <!--'admins' => [-->
        <!--    'driver' => 'eloquent',-->
        <!--    'model' => App\Models\Admin\AdminUser::class,-->
        <!--],-->
    ],
  1. 創(chuàng)建自定義的模型昆雀,字段包括(id,name,email,password,rememberToken,timestamps)辱志,設(shè)置模型的白黑字段($fillable,$hidden )。

  2. 添加一條用于測試登錄的記錄

  3. 登錄狞膘,注冊揩懒,忘記密碼,登錄成功后路由設(shè)置

Route::group(['prefix' => 'admin','namespace' => 'Admin'],function ($router)
{
    $router->get('login', 'LoginController@showLoginForm')->name('admin.login');
    $router->post('login', 'LoginController@login');
    $router->post('logout', 'LoginController@logout');

    $router->get('dash', 'DashboardController@index');
});
  1. 寫一個用于自定義登錄的控制器(使用AuthenticatesUsers Trait,成功跳轉(zhuǎn)頁面挽封,構(gòu)造方法中注冊中間件,登錄視圖頁面已球,指定配置中的認(rèn)證驅(qū)動)
php artisan make:controller Admin/LgoinController
<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

//登錄Trait
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    use AuthenticatesUsers;

    protected $redirectTo = '/admin/dash';  //登錄成功后跳轉(zhuǎn)地址
    protected $username;    //登錄使用的唯一驗證字段

    public function __construct()
    {
        $this->middleware('guest:admin', ['except' => 'logout']);
        $this->username = 'teach@teach.com';
    }

    //重寫登錄視圖
    public function showLoginForm()
    {
       return view('auth._login');
    }

    //自定義認(rèn)證驅(qū)動
    protected function guard()
    {
        return auth()->guard('admin');
    }
}

  1. 可以加一個驗證中間件
php artisan make:middleware AdminAuthMiddleware
<?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)
    {
        if (Auth::guard($guard)->guest()) {
            if ($request->ajax() || $request->wantsJson()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('admin/login');
            }
        }
        return $next($request);
    }
}
  1. 在 app\Http\Kernel.php 中注冊中間件:
protected $routeMiddleware = [
    ......
    'auth.admin' => \App\Http\Middleware\AdminAuthMiddleware::class,
    ......
];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子智亮,更是在濱河造成了極大的恐慌忆某,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阔蛉,死亡現(xiàn)場離奇詭異弃舒,居然都是意外死亡,警方通過查閱死者的電腦和手機状原,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門聋呢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人颠区,你說我怎么就攤上這事削锰。” “怎么了毕莱?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵器贩,是天一觀的道長。 經(jīng)常有香客問我央串,道長磨澡,這世上最難降的妖魔是什么碗啄? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任质和,我火速辦了婚禮,結(jié)果婚禮上稚字,老公的妹妹穿的比我還像新娘饲宿。我一直安慰自己,他們只是感情好胆描,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布瘫想。 她就那樣靜靜地躺著,像睡著了一般昌讲。 火紅的嫁衣襯著肌膚如雪国夜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天短绸,我揣著相機與錄音车吹,去河邊找鬼。 笑死醋闭,一個胖子當(dāng)著我的面吹牛窄驹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播证逻,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼乐埠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丈咐,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤瑞眼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后棵逊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體负拟,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年歹河,在試婚紗的時候發(fā)現(xiàn)自己被綠了掩浙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡秸歧,死狀恐怖厨姚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情键菱,我是刑警寧澤谬墙,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站经备,受9級特大地震影響拭抬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜侵蒙,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一造虎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纷闺,春花似錦算凿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至浸卦,卻和暖如春署鸡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背限嫌。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工靴庆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人萤皂。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓撒穷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親裆熙。 傳聞我的和親對象是個殘疾皇子端礼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理禽笑,服務(wù)發(fā)現(xiàn),斷路器蛤奥,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • 簡介 laravel 使實施認(rèn)證的變得非常簡單佳镜,事實上,它提供了非常全面的配置項以適應(yīng)應(yīng)用的業(yè)務(wù)凡桥。認(rèn)證的配置文件存...
    Dearmadman閱讀 6,121評論 2 13
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,841評論 25 707
  • 22年12月更新:個人網(wǎng)站關(guān)停蟀伸,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,170評論 22 257
  • 1、什么是Webpack WebPack可以看做是模塊打包機:它做的事情是缅刽,分析你的項目結(jié)構(gòu)啊掏,找到JavaScri...
    gtt21閱讀 364評論 0 1