Tu devras utiliser un cookie pour gérer l'authentification de l'utilisateur (je sais pas si le framework ZK propose un système de sessions, si c'est le cas, il te faudra utiliser une variable de session pour mémoriser le statut (connecté ou non) d'un utilisateur particulier Si y'a pas de sessions, il te faudra recréer un système de ce type avec des cookies.
Pour la connexion, tu dois vérifier les données envoyées par le formulaire de ta page de login, BDD ou pas il faudra que tu aie une liste d'utilisateurs et de hash de mots de passe, que ce soit en dur dans le code, dans un fichier, ou dans une BDD. Tu devras alors hasher le mot de passe envoyé sur la page de login, le comparer avec le hash de l'utilisateur dans la liste quand bien même il existerait, et si l'utilisateur existe et que les hash correspondent, tu peux définir une variable de session spécifiant que l'utilisateur est bien connecté.
Sur la page qui nécessite une connexion, tu dois vérifier si la variable de session que tu définis au login est bien présente, auquel cas tu affiche la page, sinon tu envoies un 403 Forbidden, et tu fais une redirection ou l'affichage d'une page d'erreur.