There is an alternative method to run your online store by restricting access to your categories and products. Rather than permitting all your customers to view all categories you can run your eShop as a closed store. Each customer can be dedicated a category or multiple categories. If we run the store in this way each customer will be required to login and have the their permissions as a super user to view the categories assigned to them and therefore products. Regular users even though assigned categories will not be able to view.
If a customer has not been assigned a category the customer will have access to global public categories as set in eShop Settings. The customer is assigned categories in the customer edit page. On this page the customer will need to be set as super user by clicking the icon.
To set your store to use this system of restricting categories to use in eShop settings check Global / Private Categories System. This will automatically set the eShop to require login to view products plus allow assigning of categories to the customer.
Set as Super User on Edit Customer Page
Assign categories on Edit Customer Page