The problem is that, by default, it's not possible to password protect categories or make them WooCommerce..
Members-only store. then you'll need global way to make all your products private..
It's similar to how WordPress lets you password protect individual pages and posts except that you're able to password protect WooCommerce categories.
So, for instance, you could use WooCommerce Protected Categories WordPress plugin to achieve this...
The key benefit of using WooCommerce Protected Categories plugin is that it enables you to make WooCommerce products private at once.
The plugin lets you add password or multiple passwords for each WooCommerce category.
Or if you prefer, you can create login page which will direct people to WooCommerce category, based on the password entered..
You create category and add all of the products you'd like to make private to this category.
Finally, add or edit products and add them to the category you just created...
For example, if you're creating WooCommerce wholesale store then you might need separate 'wholesale role.
Read more