美文网首页
laravel中间件的使用

laravel中间件的使用

作者: 北冥摸鱼 | 来源:发表于2016-11-16 23:00 被阅读0次

在项目根目录下使用:php artisan make:middleware 中间件名称Middleware命令创建中间件

  1. 创建中间件 php artisan make:middleware 中间件名字Middleare.
  2. 在中间件中写下规则,主要就是进行判断是否登录,当然也别忘了引入命名空间,如下例:
public function handle($request, Closure $next)
{   
     //判断是否登陆,如未登录则重定向到登陆页
    if(empty(\Session::get('admin'))) {
        return redirect('/login');
    }
    //如已登陆则执行下一步
    return $next($request);
}    
  1. Kemel.php 文件中中间件添加到局部中间件中,如下例:
protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    //添加的中间件 Admin
    'Admin' => \App\Http\Middleware\AdminMiddleware::class,
];
  1. 在路由里加入中间件,除了登录、注册和执行登录方法写到中间件外面,其余的方法都应该写入到中间件里面,如下例:
Route::group(['domain' => 'www.wang.com'], function () {
    //登陆 写在中间件外面
    Route::resource('index','User\UserController');
    //注册 写在中间件外面
    Route::resource('create','User\UserController@create');
    //执行登陆 写在中间件外面
    Route::resource('login','User\UserController@login');
    //验证是否登陆中间件
    Route::group(['middleware' => 'Admin'],function(){
        //列表
        Route::resource('show','User\UserController@show');
        //修改
        Route::resource('edit','User\UserController@edit');
        //执行修改
        Route::resource('update','User\UserController');
        //删除
        Route::resource('destroy','User\UserController@destroy');
    });        
});

相关文章

网友评论

      本文标题:laravel中间件的使用

      本文链接:https://www.haomeiwen.com/subject/asnrpttx.html