
Queremos que un grupo de usuarios (director,jefe de estudios,secretario,lengua,mates etc) tengan determinados permisos para acceder o no a un sitio web,entonces tenemos que habilitar la «Autenticación básica» en nuestro servidor web, que obligará a realizar un inicio de sesión (logueo) en el que solo acepte a los usuarios permitidos en ese sitio web.
Objetivos:
• Cada profesor tiene un usuario en el servidor, además existen usuarios especiales: director, jefe de estudios, secretario,
etc.
• La página http://www.dominio.com/profesores, es una zona privada donde tienen accesos todos los usuarios, sin embargo, a la página http://www.dominio.com/equipodirectivo sólo tienen accesos los usuarios del equipo directivo: director, jefeestudios, secretario, …
Configuración Autenticación básica
Lo primero que haremos será crear las carpetas «profesores» y «equipodirectivo», ya que no las tenemos creadas. Una vez creadas les añadiremos unos «index.html» para diferenciar una página de otra.
mkdir profesores equipodirectivo

Hacemos unos index simples dentro de ambas carpetas, donde contendrá un mensaje de bienvenida que diferencia la entrada a cada una de las páginas:
Carpeta profesores:

Carpeta de equipo directivo:

Una vez tengamos los dos directorios listos podemos empezar a realizar la creación de usuarios y aplicación de la autenticación básica.
Crearemos el archivo que contendrá los usuarios almacenados en «/etc/apache2/«, se hace de la siguiente forma:
htpasswd -c password director
Con el comando que acabamos de introducir hemos creado el fichero «password» que contendrá la información de los usuarios, primero hemos añadido el usuario «director», que tras introducir este comando nos pedirá que le asignemos una contraseña. Cuando queramos añadir otro usuario sin que reemplace el fichero «password» tendremos que introducir el siguiente comando:
htpasswd "archivo" "usuario"
Quitamos la opción «-c» y añadiremos el usuario en el archivo.
Creamos todos los usuarios necesarios y quedaría el fichero tal que así:

Puedes observas a todos los usuarios creados y almacenados en el archivo «password«.
Para activar la autenticación básica nos tenemos que dirigir hacia /etc/apache/sites-available/harvard.conf y editar ese fichero:
- Añadir autenticación para /profesores:

AuthType: Tipo de autenticación
AuthName: Nombre descriptivo de la autenticación
AuthUserFile: Ruta donde se encuentra el fichero que contiene la información sobre los usuarios.
Require «opción«: Este campo nos permite especificar los usuarios que pueden entrar, si queremos que entren todos tendremos que poner «valid-user» y si queremos especificar unos cuantos usuarios tendrá que ser así «user «usuario1» «usuario2» «, de forma que los usuarios vayan separados por espacios.
- Añadir autenticación para «/equipodirectivo»:

Con esto ya tendríamos nuestro fichero perfectamente configurado de manera que tenga los requisitos correspondientes. Con esto accederán todos los usuarios a «/profesores«, pero solo el director, jefe de estudios y secretario podrán acceder a «/equipodirectivo«.
Recargamos el servicio:
Systemctl reload apache2
Y procedemos a comprobar que todo este entorno funciona.
¿Funcionará?
Mediante nuestros clientes, vamos a acceder a los diferentes apartados web, para ver si realmente funciona la autenticación de forma correcta:
- Debian

Como puedes ver nos aparece el mensaje para loguearnos para entrar a la página «/profesores«, nos tendría que dejar entrar con cualquiera de los usuarios registrados en el fichero «password«, así que probaremos con uno que ni siquiera exista:


Al darle a OK y revisar si está dicho usuario en «password«, se ha dado cuenta de que no existe y por lo tanto recarga el cuadro del Log-in para realizarlo de nuevo, esta vez lo intentaremos con un usuario válido:


Nos ha entrado perfectamente porque ese usuario si está registrado. Ahora probaremos a entrar en «/equipodirectivo»:

A simple vista la autenticación funciona, probaremos a loguearnos con un usuario no autorizado a ver que ocurre:


Como era de esperar, no nos deja con el usuario «lengua» porque aunque esté en el fichero «password», hemos configurado que solo puedan acceder el director, el jefe de estudios y el secretario, así que ahora probaremos con alguno de ellos:


Como puedes ver, nos accede correctamente con el usuario autorizado.
- Windows 7
Ahora realizaremos lo mismo que en Debian pero en Windows 7, primero entraremos a «/profesores» con un usuario no autorizado:


Como era de esperar, no nos deja iniciar sesión con ese usuario, ya que no existe. Probaremos con un usuario existente:


Nos deja acceder y nos permitiría acceder con cualquier otro usuario registrado, porque así lo configuramos. Ahora probaremos a entrar a «/equipodirectivo» con un usuario no autorizado:


Aunque ese usuario está registrado, no se le está permitido el acceso a «/equipodirectivo» por eso no puede entrar. Probaremos ahora sí, con un usuario autorizado:


Como el jefe de estudios tiene permisos para acceder, ha accedido correctamente, así que nuestra autenticación funciona de forma correcta.
