Codeigniter - Conexión con usuario dinámico a una base de datos

 
Vista:

Conexión con usuario dinámico a una base de datos

Publicado por Juan Pablo E (1 intervención) el 16/05/2017 21:50:48
Saludos. Estoy tratando de conectarme a una misma base de datos con distintos usuarios. La aplicación tendrá alrededor de mil usuarios y cada uno tendrá sus propios permisos, roles y seguimiento en la base de datos. No puedo ni debo crear en el archivo de configuración database.php todos los usuarios y sus respectivas conexiones.

Lo que trato de hacer es que en base de una misma configuración de conexión cambiar únicamente usuario y su clave.

Estoy trabajando con Codeigniter 3.1.3 y MSSql Server.

De antemano, gracias por al ayuda

JP
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 53
Oro
Ha mantenido su posición en Codeigniter (en relación al último mes)
Gráfica de Codeigniter

Conexión con usuario dinámico a una base de datos

Publicado por kip (21 intervenciones) el 01/06/2017 04:34:37
Hola, lo que podrias hacer es cargar manualmente la base segun un usuario y password que tengas en alguna tabla de todos los usuarios y con este dato una vez iniciada la sesion cargar la configuracion para la base de datos con los nuevos datos de usuario y password, asi podrias hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
$config['hostname'] = 'localhost';
$config['username'] = $this->session->userdata('username_database_saved');
$config['password'] =  $this->session->userdata('password_database_saved');
$config['database'] = 'mydatabase';
$config['dbdriver'] = 'mysqli';
$config['dbprefix'] = '';
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = '';
$config['char_set'] = 'utf8';
$config['dbcollat'] = 'utf8_general_ci';
$this->load->database($config);

Es decir una vez iniciada la sesion almacenas estos datos que seran del usuario para la base de datos.

Espero me entiendas, cualquier duda nos comentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar