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 相关文章推荐
mysql5写入和读出乱码解决
Nov 25 PHP
php实现的简单压缩英文字符串的代码
Apr 24 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
php json_encode值中大括号与花括号区别
Sep 30 PHP
PHP小教程之实现链表
Jun 09 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
PHP文件读取功能的应用实例
May 08 PHP
PHP实现的装箱算法示例
Jun 23 PHP
php的单例模式及应用场景详解
Feb 27 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
第八节 访问方式 [8]
2006/10/09 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
Python 求数组局部最大值的实例
2019/11/26 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
苹果Mac升级:MacSales.com
2017/11/20 全球购物
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
大学生学习自我评价
2014/01/13 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
股东协议书范本
2014/04/14 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
三严三实对照检查材料
2014/08/25 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
Python常遇到的错误和异常
2021/11/02 Python
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers