PHP - Un Login y acceso Para varias aplicaciones en varias BD

 
Vista:
Imágen de perfil de Héctor

Un Login y acceso Para varias aplicaciones en varias BD

Publicado por Héctor (1 intervención) el 09/08/2018 00:24:38
Hola

En la empresa en la que trabajo estoy usando un servidor virtual en el que tengo tantas bases de datos como aplicaciones desarrolladas.
He creado ya 6 aplicaciones web con PHP, cada una en su BD, con su tabla de usuarios y contraseñas encriptada y login mediante sesion etc.

El punto es que se está diversificando el acceso, hay usuarios que acceden a tres o cuatro de estos desarrollos y algunos tienen un usuario y contraseña para aplicación.

La idea que tengo es: Hacer una aplicación (otra BD y otra carpeta en xampp/htdocs con una sola tabla de usuarios, una sola tabla de roles, una sola de perfiles o quizá de otra forma) que sirva para que hagan login y que de este modo solo hagan un login y según las aplicaciones que se les hayan permitido acceder puedan hacerlo, así que serán las que vean en su página principal.

Actualmente, para ingresar, el usuario usa una url en la cual está el programa que va a usar en esa ocasión, por ejemplo:

MisAplicacionesOperacionales/Proyecto1

MisAplicacionesOperacionales/Proyecto2

MisAplicacionesOperacionales/Proyecto3


En Xampp/Htdocs tengo:
CarpetaConProyecto1
CarpetaConProyecto2
CarpetaConProyecto3

En MySQL tengo:
BD_Proyecto1
BD_Proyecto2
BD_Proyecto3

¿Será buena idea hacer esto:? ----------------------------

En Xampp/Htdocs tener esto:
CarpetaConProyecto1
CarpetaConProyecto2
CarpetaConProyecto3
CarpetaConAplicacionLogInUnico

en MySQL tener esto:
BD_Proyecto1
BD_Proyecto2
BD_Proyecto3
BD_ConAplicacionLogInUnico (t_Usuarios, t_Privilegios, t_acceso_aplicaciones, etc.)

¿O que tal esto otro:? ----------------------------

En Xampp/Htdocs tener esto:
CarpetaConAplicacionLogInUnico
CarpetaConProyecto1
CarpetaConProyecto2
CarpetaConProyecto3

en MySQL
BD_Proyecto1
BD_Proyecto2
BD_Proyecto3
BD_ConAplicacionLogInUnico

En cualquier caso, una vez logueado el usuario poder abrir y usar uno u otro proyecto sin tener que loguearse en cada uno y al finalizar sesión quedar fuera de todos los proyectos.

Nunca he hecho algo así, tengo 10 meses haciendo pequeños desarrollos en mi trabajo con php que sirven para cosas como: El control de cotizaciones, Registro y reporteo de las actividades realizadas en el día, Seguimiento de prospectos de ventas y de volumenes estimados, etc.

No se como estructurar tanto en mi(s) base(s) de datos como en mis carpetas esto para que me de buenos resultados. Estoy seguro de que mas de uno ha pasado por lo mismo y lo ha logrado resolver de una buena manera y con buenas prácticas (En un futuro cercano se va a migrar todo esto a un servicio de hosting que se va a reciclar de algún un proyecto que hubo ahí (Usa cPanel). Ésto para que tanto los empleados que se encuentran dentro de la red de la empresa, como los que se encuentren de viaje, o en las instalaciones de un cliente puedan acceder)

Les agradezco mucho por su tiempo en leer y por sus ideas y sugerencias.
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
sin imagen de perfil
Val: 188
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Un Login y acceso Para varias aplicaciones en varias BD

Publicado por Yamil Bracho (878 intervenciones) el 09/08/2018 00:53:51
Lo que estas mencionando se lla Single SignOn...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 504
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Un Login y acceso Para varias aplicaciones en varias BD

Publicado por Gonzalo (615 intervenciones) el 09/08/2018 01:51:36
lo que yo haria seria concentrar todos los usuarios en una sola base de datos y controlar el cambio de proyecto con un menu, limitas el uso del menu segun el usuario, asi pasaria de un programa a otro o solo al programa al que tiene derecho de acceder.

pero claro, eso es lo que yo haria, si tienes otra idea esa es la correcta.

salu2
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