laravel框架怎样用中间件实现防非法登录?
Admin 2021-05-28 群英技术资讯 1971 次浏览
关于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中有很多关于数组的函数,方便数组操作。数组能够在单个变量中存储多个值;数组是一个能在单个变量中存储多个值的特殊变量。
workerman端口不通的解决办法:首先关闭防火墙;然后直接在服务端中设置成“0.0.0.0:端口”;接着在出站规则与入站规则中设置端口;最后卸载相关拦截软件即可。
首先,为什么会存在循环?代码为什么要用循环?在我们的日常使用中,会遇到需要反复运行同一代码块。我们可以使用循环来执行这样的任务,而不是添加若干几乎相等的代码行,显得臃肿。
php数组函数:1、数组的分段和填充,array_slice。2、分割多个数组,array_chunk。3、数组的填充,array_pad。4、数组排序函数sort() 、rsort() 等。
这篇文章给大家分享的是用PHP实现留言板发布留言功能。实现效果如下,没有进行CSS美化,页面相对简单,但是下文实现代码有一定的参考价值,而且介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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