Private website with Rules - Inherit custom fields
This is very straight forward in Rules without the need for extra modules:


Event: Content is viewed of type [content-type]


You can add one event for each content type, or as the description in the Rule itself states: If you need to filter for multiple values, either add multiple events or use the "Entity is of bundle" condition instead.


set a boolean field in the content type to determine if it should be public or not
Condition: Data Comparison: Parameter: Data to compare: [node:field-to-determine-if-viewable], Data value
Action: Page Redirect: Parameter: URL: user/login


This will check every page load of a content type (or all if you so desire) and redirect if the boolean is set (or not set) depending on how you want it set up