]]>
@a2hostingrj ‘s suggestion in that the Private Store extension will let you create a private store where only logged in users can see the products.
If you want the product list to be visible, but don’t want them to make a purchase without creating a login, you can uncheck “Allow customers to place orders without an account” under WooCommerce > Settings > Accounts & Privacy.
Link to image: https://d.pr/i/RLUJPv
You can also use WooCommerce Memberships for more advanced control, like giving access to certain pages, etc., on your site.
I hope this helps!
]]>