Escribir un container para autentificación de usuarios contra un array de passwords en claro con PEAR::Auth

Normalmente utilizo PEAR::Auth para autentificar los usuarios contra una tabla de una base de datos. Los passwords en PEAR::Auth se espera que esten encriptados con MD5 siguiendo lo que es una política normal de seguridad. En uno de mis proyectos el cliente requería que las contraseñas se guardaran en plano dentro de un array en un fichero php, lo que les posibilitaba resetear el password de una forma rápida ya que el usuario final solía llamarles pidiendoles que lo hicieran ya que había olvidado la contraseña ;-) El sistema en cuestión era una intranet monousuario de una pequeña web. Para cubrir el requisito he tenido que crear un contenedor en PEAR::Auth que me permite gobernar la forma en que el usuario es validado. Os dejo el código por si a alguien le puede interesar: require_once 'Auth/Container.php'; class PlainPasswordArrayContainer extends Auth_Container { var $passwords; /** * Constructor */ function PlainPasswordArrayContainer($passwords) { // Init Here … [Read more...]