laravel 中间件的 except 和 only 的用法

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过滤,其他都不需要过滤,如果没有通过验证,则跳转到指定的页面

你可能感兴趣的:(laravel)