Protecting components with custom permissions