Laravel框架基于中间件实现禁止未登录用户访问页面功能示例


Posted in PHP onJanuary 17, 2019

本文实例讲述了Laravel框架基于中间件实现禁止未登录用户访问页面功能。分享给大家供大家参考,具体如下:

1、生成中间件

[root@localhost MRedis]# php artisan make:middleware CheckLogin
Middleware created successfully.

2、实现中间件,在app\http\middleware\CheckLogin.php

public function handle($request, Closure $next)
{
  if (!session('user')) {
    return redirect('login');
  }
  return $next($request);
}

3、注册中间件,在app\http\kernel.php下,添加的为最后一行

protected $routeMiddleware = [
    'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
    'can' => \Illuminate\Auth\Middleware\Authorize::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'check.login' => \App\Http\Middleware\CheckLogin::class,  // 这一行
];

4、使用中间件(一定要把登录路由的放在外面)

Route::group(['middleware' => 'check.login'], function() {内部为,不想让未登录用户进的路由}

5、成功

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php中inlcude()性能对比详解
Sep 16 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
关于PHP的curl开启问题探讨
Apr 08 PHP
php计算当前程序执行时间示例
Apr 24 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
PHP HTTP 认证实例详解
Nov 03 PHP
PHP生成短网址的思路以及实现方法的详解
Mar 25 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 PHP
php异常处理捕获错误整理
Sep 23 PHP
浅谈PHP之ThinkPHP框架使用详解
Jul 21 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 #PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 #PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 #PHP
Laravel框架实现的批量删除功能示例
Jan 16 #PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 #PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 #PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 #PHP
You might like
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
vuex 的简单使用
2018/03/22 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
python itchat实现微信自动回复的示例代码
2017/08/14 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
python生成器用法实例详解
2019/11/22 Python
python文件及目录操作代码汇总
2020/07/08 Python
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
小学生检讨书大全
2014/02/06 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
家庭贫困证明
2015/06/16 职场文书
单位接收证明格式
2015/06/18 职场文书
欠款证明
2015/06/24 职场文书
运动会新闻报道稿
2015/07/22 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL