1) Use la ACL incorporada de Joomla!
Recomiendo que sus visitantes ingresen de forma predeterminada a una página de inicio de sesión y utilicen la ACL integrada de Joomla! Utilizando usuarios registrados.
Establezca un elemento de menú de nivel superior con permisos para usuarios registrados, y luego cada elemento de menú en ese árbol solo estará visible y disponible para los usuarios registrados.
Hay un excelente tutorial sobre ACL en Joomla! Doc.
Sin embargo, los archivos y documentos pueden ser descargados por usuarios no registrados (es decir, si tienen el enlace directo).
En este caso, tendrá que usar una extensión de terceros, si desea proteger esos documentos, como Akeeba Release Systems o SobiPro.
2) Directorios protegidos por contraseña
La forma "más simple" de proteger su sitio es proteger con contraseña su directorio a través de .htaccess /
No es elegante, pero si usa cPanel, por ejemplo, vaya a Seguridad -> Directorios protegidos por contraseña y use el asistente para nombrar directorios, agregar o eliminar usuarios y asignar a esos usuarios al Directorio protegido por contraseña - puede dar a cada usuario un nombre único y contraseña.
Es poco elegante, pero simple y se usa con bastante frecuencia en la práctica; sin embargo, reitero, probablemente sea mejor usar ACL y, si protege los documentos de la descarga, una extensión de terceros.
Si mantiene sus archivos / documentos en el directorio protegido por contraseña, también estarán protegidos, lo que requerirá que un usuario con permisos intente acceder a ese directorio para iniciar sesión primero.