2
Hi,
if I understand your question correctly, you can go to admin -> groups, select the group you want to edit and give access right to modules, you want only registered users to see, to the Registered Users group. Remove access rights for Anonymous Users group.
Some modules may have more precise access rights for per category or per user access... Those are set in the respective module, but most modules use XOOPS groups access system.
You can keep the site open for new user registrations.
You can also create your own groups for better access management.