Laravel-路由组和中间件

标签(空格分隔): php


定义路由组

Route::group(['prefix'=>'Anime'], function(){
Rout::match(['get', 'post'], 'login', 'Admin\LoginController@login) Route::group(['middleware'=>'CheckToken', function(){
Rout::match(['get', 'post'], 'index','Admin\LoginController@index) })
}); prefix : 路由前缀 对应生成的路由是 /Anime/login
match: http请求方式 get | post | delete
middleware : 中间件

中间件

1 要创建一个新的中间件,可以通过 Artisan 命令 make:middleware:
php artisan make:middleware CheckToken 2 生成文件的位置在 app\Http\Middleware\CheckToken.php
在 handle 方法里完成你的中间件 如:登录验证, 记录日志 handle分为 :中间件之前/之后

3 注册中间件
app\Http\Kernel.php 注册在 routeMiddleware 数组中: <?php namespace App\Http; use Illuminate\Foundation\Http\Kernel as HttpKernel; class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
### 全局的中间件
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
]; /**
* The application's route middleware groups.
*
* @var array
*/
## 中间件组 \routes\ web => web.php api=> api.php 文件中所有的路由都必须通过中间件的处理
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\CheckToken::class
], 'api' => [
'throttle:60,1',
'bindings',
],
]; /**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
# 路由组中间件
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,
'CheckToken' => \App\Http\Middleware\CheckToken::class, ];
}

最新文章

  1. IE6中内容高度比高级浏览器高的解决办法
  2. [Android Pro] Gradle Tips#2-语法
  3. 9_13学习完整修改和查询&amp;&amp;实体类,数据访问类
  4. 查询分页的几种Sql写法
  5. iis7.5应用程序池模板永久性缓存初始化失败解决方法
  6. secureCRT如何远程桥接CentOS.
  7. 注塑成型工艺知识大全(Injection Molding)
  8. &lt;Stackoverflow&gt; 如何提问
  9. 关于AjaxPro的用法
  10. Linux命令行程序和内建指令
  11. 设计模式 - 观察者模式(Observer Pattern) 详细解释
  12. 【使用教程】论Windows下必备的抓包工具Fiddler2如何安装证书(查看Https)
  13. [转]HDFS HA 部署安装
  14. JavaScript(第二十四天)【事件对象】
  15. 解决.NET Web API生成的Help无Controller说明&amp;服务端接收不到请求
  16. 解决url传中文参数问题
  17. 程序员、互联网从业者必读KK三大力作之《必然》总结
  18. BD是什么角色
  19. php操作mysql使用的socket
  20. Mysql更改表名大小写不敏感

热门文章

  1. Objective-C基础笔记(3)OC的内存管理
  2. BZOJ 3112 [Zjoi2013]防守战线 线性规划
  3. 火狐访问IIS出现404,而Chrome可以正常访问
  4. Git 跟 GitHub 是什么关系?
  5. 137.CPP自带异常
  6. HOOK劫持自己
  7. Maven远程仓库:pom依赖以及jar包下载
  8. C#线程调用带参数的方法,给控件赋值
  9. omi-mp-create源码加注
  10. axios 使用post方式传递参数,后端接受不到问题