How to restrict logged user to view only certain pages?

This code filter the content for custom post types “news”, you say “specific pages” so this can be adjusted to your needs. Then it checks if the user is a subscriber, and shows the content if it is, else, it just says “Not allowed”.

function filter_content($content) {

    global $post;
    if ( $post->post_type == 'news' ) { //Specify your pages here
    
        $currentuser = wp_get_current_user();
        if ( in_array( 'subscriber', (array) $currentuser->roles ) ) {
            return $content;
        } else {
            echo 'Not allowed';
        }

    }

}

add_filter('the_content', 'filter_content');`