laravel框架怎样用中间件实现防非法登录?
Admin 2021-05-28 群英技术资讯 2062 次浏览
关于laravel框架中间件,就是控制路由的访问,进行分类并统一管理。小编认为是比较实用的,下面就给大家分享laravel如何利用中间件实现防非法登录和权限控制,感兴趣的朋友可以看看。
1、首先我们打开artisan输入下面的命令行,创建一个中间件文件
php artisan make:middleware AdminLogin
执行命令后我们会发现Middleware文件夹会多出一个AdminLogin文件
2、然后我们打开kernel.php,将这个中间件加入到路由中间件中
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,
];
可以看到我们在这个数组用一个下标为admin.login指向了这个中间节类
3、然后在路由上将这个中间件加入关联上
Route::group(['middleware' => ['web','admin.login.login']], function () {
Route::get('/admin/login/login','Admin\LoginController@login');
//登录页面
Route::get('/admin/index/index','Admin\IndexController@index');
//后台首页路由
});
这里一定要将登录的路由和后台路由放到一个关联中间件中,只有放到同一个中间件中,session才能共用
4、最后我们在Middleware下的AdminLogin.php中修改一下原本的代码
在这里我们做一个简单的小判断,判断一下有没有session存在,如果有的话就直接走我们现在访问的路由,如果没有session就给他重定向到登录页面
一个简单的防非法登录就可以用了
这种方法我们也可以拿来做rbac,也是建立一个中间件,进行session判断,查库中该管理员是否对有该权限访问该路由
此时您可能会用到
$route = $request->path();
他的作用就是获取到你当前访问的路由再进行判断可不可以访问
关于使用laravel框架中间件实现防非法登录和权限控制的方法介绍就到这,需要的朋友可以参考,希望能对大家有帮助,更多laravel框架中间件使用技巧,可以关注其他相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
我们学习完一个知识再实际运用之后,往往会有新的收获,因此,这篇文章主要带大家回顾php反序列化的相关知识,希望能让大家有收获,下面我们就一起来看看吧。
这篇文章主要介绍了Laravel5.1 框架模型远层一对多关系,结合实例形式分析了laravel5.1框架模型远层一对多关系相关原理、实现方法与操作注意事项,需要的朋友可以参考下
php长连接的介绍:1、长连接是指建立SOCKET连接后,无论是否使用,都保持连接,但安全性较差。2、长连接可以省去较多的TCP建立和关闭操作,减少资源浪费,节省时间。
这篇文章通过代码讲解了PHP中die()和sleep()函数的具体用法,文中给大家介绍的通俗易懂,零基础也能看得懂,对大家的学习或工作具有一定的参考价值
对于删除数组元素大家应该都不陌生,那么如果是json对象数组删除元素,我们该如何做呢?对此,小编给大家介绍一下在JS中删除json对象数组元素的方法,感兴趣的朋友就继续往下看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008