婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Laravel實現登錄跳轉功能

Laravel實現登錄跳轉功能

熱門標簽:凱立德地鐵站地圖標注 400電話個人能不能辦理 滄州電銷外呼系統價格 天津電銷外呼系統違法嗎 手機外呼系統什么原理 上海400客服電話怎么申請 合肥ai電銷機器人費用 溫州外呼系統招商 銀行信貸電話機器人

前言

登錄跳轉:
不同的用戶在登錄成功之后跳轉到不同的網頁當中

例如:網站管理員登錄成功后跳轉到網站后臺,vip用戶登錄成功后跳轉到vip頁面

準備工作

用戶表

CREATE TABLE `users` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `role` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'normal',
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`),
  KEY `users_role_index` (`role`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

分別錄入系統管理員、vip用戶和普通用戶

使用redirectPath和middeware實現安全的登錄跳轉

1)app\Http\Controllers\Auth\LoginController.php下復寫redirectPath方法
判斷登錄的用戶,實現不同的跳轉頁

//復寫redirectPath實現登錄跳轉
    public function redirectPath()
    {
        switch (auth()->user()->role) {
            case 'admin':
                return 'admin/dashboard';
            case 'vip':
                return 'vip/dashboard';
            default:
                return '/home';
        }
    }

2)創建Isvip和Isadmin中間件過濾越權訪問用戶

php artisan make:middleware Isvip
php artisan make:middleware Isadmin

Isvip

public function handle($request, Closure $next)
    {
        //如果是vip則往下執行邏輯
        if(auth()->user()->role === 'vip'){
            return $next($request);
        }
        //不是vip則跳轉到首頁
        return redirect('/home');
    }

Isadmin

public function handle($request, Closure $next)
    {
        //如果是管理員則往下執行邏輯
        if(auth()->user()->role === 'admin'){
            return $next($request);
        }
        //不是管理員則跳轉到首頁
        return redirect('/home');
    }

app\Http\Kernel.php注冊Isadmin和Isvip中間件

protected $routeMiddleware = [
\Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
        'admin' => \App\Http\Middleware\Isadmin::class,
        'vip' => \App\Http\Middleware\Isvip::class,
    ];

路由中加入中間件進行訪問過濾

//中間件檢查訪問該目錄admin/dashboard是否為admin用戶,過濾不合格的用戶
Route::get('admin/dashboard', function (){
    return view('admin.dashboard');
})->middleware(['auth','admin']);

//中間件檢查訪問該目錄vip/dashboard是否為vip用戶,過濾不合格的用戶
Route::get('vip/dashboard', function (){
    return view('vip.dashboard');
})->middleware(['auth','vip']);

優化在不使用復寫redirectPath方法下實現登錄跳轉

創建UserRoleRedirect中間件用于不同用戶登錄跳轉不同頁面功能實現

php artisan make:middleware UserRoleRedirect

UserRoleRedirect邏輯代碼

public function handle($request, Closure $next)
    {
        switch (auth()->user()->role) {
            case 'admin':
                return redirect('admin/dashboard');
            case 'vip':
                return redirect('vip/dashboard');
            default:

                break;
        }

        return $next($request);
    }

路由使用結合admin和vip中間件過濾

Route::get('/home', function () {
    return view('welcome');
})->middleware(['auth','auth.redirect']);

Auth::routes();

//中間件檢查訪問該目錄admin/dashboard是否為admin用戶,過濾不合格的用戶
Route::get('admin/dashboard', function (){
    return view('admin.dashboard');
})->middleware(['auth','admin']);

//中間件檢查訪問該目錄vip/dashboard是否為vip用戶,過濾不合格的用戶
Route::get('vip/dashboard', function (){
    return view('vip.dashboard');
})->middleware(['auth','vip']);

到此這篇關于Laravel實現登錄跳轉功能的文章就介紹到這了,更多相關Laravel登錄跳轉內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • laravel 表單驗證實現多個字段組合后唯一
  • Laravel 驗證碼認證學習記錄小結
  • laravel 數據驗證規則詳解
  • laravel 解決強制跳轉 https的問題
  • Laravel重定向,a鏈接跳轉,控制器跳轉示例
  • 解決Laravel使用驗證時跳轉到首頁的問題

標簽:金華 怒江 溫州 洛陽 赤峰 七臺河 白城 酒泉

巨人網絡通訊聲明:本文標題《Laravel實現登錄跳轉功能》,本文關鍵詞  Laravel,實現,登錄,跳轉,功能,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Laravel實現登錄跳轉功能》相關的同類信息!
  • 本頁收集關于Laravel實現登錄跳轉功能的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 新郑市| 平潭县| 东光县| 三明市| 灵璧县| 克什克腾旗| 鄂伦春自治旗| 淄博市| 神池县| 齐齐哈尔市| 阆中市| 太仆寺旗| 都江堰市| 盐津县| 江陵县| 肃宁县| 玉溪市| 屏东市| 新津县| 巴塘县| 长乐市| 札达县| 烟台市| 兴国县| 吴忠市| 廊坊市| 栾城县| 南江县| 阳泉市| 洛扎县| 湾仔区| 新津县| 寻乌县| 确山县| 门源| 淳化县| 澎湖县| 洮南市| 曲水县| 博爱县| 吴川市|