Solución:
Tienes que editar el archivo de configuración para hacer esto. Abra el archivo con un editor de texto
phpMyAdmin config.inc.php
Reemplazar el siguiente código
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
Con este
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'Server Username';
$cfg['Servers'][$i]['password'] = 'Server Password';
Reemplace la Nombre de usuario del servidor con el nombre de usuario de su servidor de base de datos. Por defecto es raíz para localhost.
Reemplace la Contraseña del servidor con la contraseña de su servidor de base de datos. De forma predeterminada, permanece en blanco para localhost.
Ahora, guarde el archivo e intente abrir MySQL Admin desde su navegador. Ahora, debería ser redirigido a phpMyAdmin automáticamente.
Por favor, ten en cuenta que ahora todo el que quiera puede iniciar sesión!
No creo que haya una forma de hacerlo sin conocer un conjunto de nombre de usuario y contraseña. Al final, phpMyAdmin es solo el middleware que conecta su sesión a la base de datos.
Hasta donde yo sé, phpMyAdmin en sí ni siquiera tiene su propia tabla de usuarios. Básicamente, intenta iniciar sesión en la base de datos con las credenciales que proporcionó. Si tiene éxito, almacena sus credenciales en sus cookies, aunque están encriptadas. Es por eso que phpMyAdmin solicita un secreto de Blowfish en su archivo de configuración, para almacenar sus credenciales más de forma segura.
Lo que está más cerca de obtener lo que desea está realmente integrado en phpMyAdmin, consulte http://wiki.phpmyadmin.net/pma/Auth_types en Single Sign-on.
auth_type signon es una función que permite que phpMyAdmin se integre con los sistemas de inicio de sesión único (SSO). Los administradores pueden configurar sus instalaciones de phpMyAdmin para obtener un nombre de usuario y contraseña de MySQL de una sesión SSO existente, lo que permite al usuario iniciar sesión una vez en un panel de control, por ejemplo, y luego cambiar entre aplicaciones como phpMyAdmin sin la necesidad de iniciar sesión nuevamente.
Para mí, crearía un nuevo usuario para cada una de sus cuentas de usuario, por ejemplo, un usuario llamado foo
podría tener una cuenta de solo SSO llamada foo_mysql
. Luego almacenar foo_mysql
y su contraseña (cifrada) en su base de datos. Cuando su usuario intenta acceder a phpMyAdmin desde su portal de administración, lo registra con la configuración del tipo de autenticación “signon” como se describe en http://wiki.phpmyadmin.net/pma/Auth_types#signon.
Una forma más segura (pero todavía tengo mis propias dudas) podría ser que cree una cuenta temporal de solo SSO solo cuando sea necesario. Por ejemplo, genere un nuevo aleatorio foo_4f65ca1d
cada vez que el usuario solicita acceder a phpMyAdmin desde su portal de administración. Luego envíe las nuevas credenciales a phpMyAdmin.
Una vez que lo haya pasado a phpMyAdmin, será phpMyAdmin quien gestione las credenciales de la forma habitual de phpMyAdmin. Cuando el usuario cierre la sesión de su portal, elimine el usuario temporal. O configure una tarea programada para eliminarlos después de un período establecido (probablemente un período sincronizado con la duración de la sesión de phpMyAdmin).
De esta forma, la cuenta en sí se comporta de forma muy similar a una sesión de usuario. Ni siquiera tiene que almacenar esas credenciales, en texto plano o cifradas en su base de datos.
No soy un experto en seguridad aquí, pero espero que esto pueda desencadenar alguna discusión o algunas otras soluciones más seguras.