本文实例讲述了laravel框架中间件 except 和 only 的用法。分享给大家供大家参考,具体如下:

except

except:为黑名单机制,除了show页面不经过中间件auth过滤,其他都需要过滤,如果没有通过验证,则跳转到指定的页面

only

only:为白名单机制,除了edit页面需要经过中间件auth过滤,其他都不需要过滤,如果没有通过验证,则跳转到指定的页面

except用法:

class usercontroller extends controller
{
  public function __construct()
  {
    $this->middleware('auth', ['except' => 'show']);
   }
  public function show(user $user)
  {
    return view('users.show', compact('user'));
  }
 public function edit(user $user)
  {
     return view('users.edit', compact('user'));
  }
}

except:为黑名单机制,除了show页面不经过中间件auth过滤,其他都需要过滤,如果没有通过验证,则跳转到指定的页面

only用法:

class usercontroller extends controller
{
  public function __construct()
  {
    $this->middleware('auth', ['only' => 'edit']);
   }
  public function show(user $user)
  {
    return view('users.show', compact('user'));
  }
 public function edit(user $user)
  {
     return view('users.edit', compact('user'));
  }
}

only:为白名单机制,除了edit页面需要经过中间件auth过滤,其他都不需要过滤,如果没有通过验证,则跳转到指定的页面