laravel利用中间件做防非法登录和权限控制示例
发布:smiling 来源: PHP粉丝网 添加日期:2022-01-14 15:06:21 浏览: 评论:0
今天小编就为大家分享一篇laravel利用中间件做防非法登录和权限控制示例,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。
laravel框架的中间件非常好用,使得我们的防非法和rbac可以简单快速的实现
中间件就是控制路由的访问,进行分类并统一管理
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();
他的作用就是获取到你当前访问的路由再进行判断可不可以访问
Tags: laravel防非法登录 laravel权限
- 上一篇:laravel csrf排除路由,禁止,关闭指定路由的例子
- 下一篇:最后一页
相关文章
- ·Laravel框架实现的rbac权限管理操作示例(2021-11-04)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)
