中间件(middleware)和授权策略(Policy)

2018-04-21  本文已影响0人  Jason_lai

中间件的创建

1. 使用命令创建中间件

php artisan make:middleware CheckIFVerify
//可以使用$request->user()获取当前登录对象。使用$request->user()->email获取当前对象属性值。
public function handle($request, Closure $next)
{
      //返回下个中间件
      return $next($request);
}

2.注册中间件

protected $routeMiddleware = [
  //  ‘中间名称’ => 中间件路径
  ‘CheckIFEmail’ => App\Http\Middleware\CheckIFVerify::class,
  ];

中间件使用

1.在路由中使用

Route::get(['middleware' => 'CheckIFEmail'],function(){
  //在此写需要经过中间件校验的路由

});

2.在控制器中的__construct方法中写:

public function __construct()
{
  $this->middleware('中间件名称',[
      'except' => ['show','create','store']
  ]);
{

授权策略的作用

授权策略的使用

php artisan make:policy Userpolicy

  public function update(User $currentUser, User $user)
    {
        return $currentUser->id === $user->id;
    }
protected $policies = [
        'App\Model' => 'App\Policies\ModelPolicy',
        \App\Models\User::class  => \App\Policies\UserPolicy::class,
    ];
$this->authorize('update',$user);
上一篇 下一篇

猜你喜欢

热点阅读