用于增强路由模型绑定以实现安全性的Laravel中间件

用于增强路由模型绑定以实现安全性的Laravel中间件,laravel,ioc-container,middleware,Laravel,Ioc Container,Middleware,有人能想出一种巧妙的方法来使用中间件或ioc的“if”语句,以便我们可以更安全地使用路由模型绑定吗 Route::get('/channel-groups/{channelGroup}/channels/{channel}', [ 'as' => 'channel-groups', 'uses' => function(\App\Distribution\UserConfigurations\ChannelGroup $channelGroup, \App\Dis

有人能想出一种巧妙的方法来使用中间件或ioc的“if”语句,以便我们可以更安全地使用路由模型绑定吗

Route::get('/channel-groups/{channelGroup}/channels/{channel}', [
    'as'   => 'channel-groups',
    'uses' => function(\App\Distribution\UserConfigurations\ChannelGroup $channelGroup, \App\Distribution\UserConfigurations\Channel $channel){

        //@todo: middleware
        if(!$channelGroup->Channels->contains($channel)){
            return abort(401, 'Unauthorized');
        }

        return $channel;
    }
]);
这可能会有帮助!