Built-in Addons:

Access Control

Access Control addons give website admin control over the access to the admin side area for selected user roles, and access to the website to visitors (users that are not logged in). Administration redirect will redirect users that are not allowed to the admin side to the URL specified in the settings

Administration Redirect
Administration Redirect

Website access authorization will redirect all non-logged visitors to the login page. But, you can set exceptions (as URL or post/page ID), and if visitors lands on such page, the redirection will not work. This way you can have some pages open to visitors, and the rest would require a login.

Website Access
Website Access