How to redirect to login page when user not loggedin on a particular page

From what I see, you just need to change the if in your redirect_user() function to:

// List of Page slugs of the particular pages in question.
$pages = array( 'page-slug', 'another-slug', 'etc-etc' );
// .. or specify a list of Page IDs: array( 1, 2, 3, ... )

// Redirect only if the current Page's slug (or ID) is within the above list.
if ( ! is_user_logged_in() && is_page( $pages ) ) {
    wp_redirect( Login::url() );
    exit;
}

But of course, by “page”, I presumed you meant a Page, i.e. post of the page type?

And if that’s not the case, i.e. you’re (also) referring to other WordPress pages like CPT and term archives, then you can check the conditional tags here and just use the one(s) that match your particular pages (is_page() is one of those conditional tags). But the exact condition/logic will certainly depend on the type of pages in which the login redirection should be applied.

// Example..
if ( ! is_user_logged_in() && (
    is_page( array( 'foo', 'bar', 'etc-slug' ) ) || // check if it's one of the Pages
    is_singular( 'my-cpt' )                         // or a if it's any single CPT pages
) ) {
    wp_redirect( Login::url() );
    exit;
}