您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“l(fā)aravel怎么實(shí)現(xiàn)非法登錄和權(quán)限控制功能”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
1、首先我們打開artisan輸入下面的命令行,創(chuàng)建一個(gè)中間件文件
php artisan make:middleware AdminLogin
執(zhí)行命令后我們會發(fā)現(xiàn)Middleware文件夾會多出一個(gè)AdminLogin文件
2、然后我們打開kernel.php,將這個(gè)中間件加入到路由中間件中
protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'admin.login' => \App\Http\Middleware\AdminLogin::class, ];
可以看到我們在這個(gè)數(shù)組用一個(gè)下標(biāo)為admin.login指向了這個(gè)中間節(jié)類
3、然后在路由上將這個(gè)中間件加入關(guān)聯(lián)上
Route::group(['middleware' => ['web','admin.login.login']], function () { Route::get('/admin/login/login','Admin\LoginController@login'); //登錄頁面 Route::get('/admin/index/index','Admin\IndexController@index'); //后臺首頁路由 });
這里一定要將登錄的路由和后臺路由放到一個(gè)關(guān)聯(lián)中間件中,只有放到同一個(gè)中間件中,session才能共用
4、最后我們在Middleware下的AdminLogin.php中修改一下原本的代碼
在這里我們做一個(gè)簡單的小判斷,判斷一下有沒有session存在,如果有的話就直接走我們現(xiàn)在訪問的路由,如果沒有session就給他重定向到登錄頁面
一個(gè)簡單的防非法登錄就可以用了
這種方法我們也可以拿來做rbac,也是建立一個(gè)中間件,進(jìn)行session判斷,查庫中該管理員是否對有該權(quán)限訪問該路由
此時(shí)您可能會用到
$route = $request->path();
Laravel 是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡潔、富于表達(dá)力。
“l(fā)aravel怎么實(shí)現(xiàn)非法登錄和權(quán)限控制功能”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。