Implement require permissions decorator