Foros del Web » Programando para Internet » PHP »

conectarme a los usuarios del web mail?

Estas en el tema de conectarme a los usuarios del web mail? en el foro de PHP en Foros del Web. ok, no tengo mucha idea ni como voy apreguntar pero hay voy, tenemos en nuestro servidor unas cuentas de correo con sus resptectivos login y ...
  #1 (permalink)  
Antiguo 11/07/2006, 08:45
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
conectarme a los usuarios del web mail?

ok, no tengo mucha idea ni como voy apreguntar pero hay voy, tenemos en nuestro servidor unas cuentas de correo con sus resptectivos login y password, lo q deseo es usar esas mismas cuentas para otros accesos dentro del sistema, para no tener q crearle a los usuarios nuevas cuentas sino q para acceder usen las mismas de la cuenta de correo, el problema q tengo es como leer esas cuentas y autenticarlas en mi pagina? sera q alguien me entiende un poco y me ayuda? gracias a todos...
__________________
.-._.-. [email protected]_.-.
  #2 (permalink)  
Antiguo 11/07/2006, 08:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero tu "web mail" (o mejor dicho servidor de correo, "web mail" no es más que un tipo de acceso a tus reales cuentas de correo en un servidor SMTP/POP/IMAP) como gestiona los usuarios:

* Gestiona los usuarios como usuarios del S.O. de ese servidor (lo típico y "peor" para intentar usar esa autentificación contra tus aplicaciones PHP).

* Lo hace por LDAP? (sería lo ideal .. en ese caso simplemente autentificas tus aplicacciones conectandote a ese servidor LDAP vía funciones de PHP: www.php.net/ldap

* Tu servidor de correo gestiona sus "cuentas de correo" como "virtuales" (y sobre una BBDD Mysql) .. Servidores como Postfix (para Linux) y otros puedes usar ese tipo de cuentas, así no involucras a cuentas de usuarios en el S.O. del servidor. Como todo estaría sobre una simple BBDD Mysql .. es sencillo usar esa BBDD para autentificar a tus usuarios.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 11/07/2006, 09:03
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
porq cuendo se Gestiona los usuarios como usuarios del S.O. de ese servidor es lo peor?....


no se mucho de ese tipo de gestiones pero mi administrador de redes me dice q seria mejor asi y no por ldap (claro el no sabe mucho de php y todo eso), solo me gustaria saber porq uno es mejor q otro... gracias
__________________
.-._.-. [email protected]_.-.
  #4 (permalink)  
Antiguo 11/07/2006, 09:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
porq cuendo se Gestiona los usuarios como usuarios del S.O. de ese servidor es lo peor?....

Por qué desde PHP no puedes autentificarte con funciones nativas de PHP .. no hay forma directa de consultar esa "BBDD" de usuarios del servidor (que yo sepa, tal vez por SSH? y si los usuarios tiene como shell "no login"? ... ya son varios problemas por ese lado). Y se complica a la hora de intentar crear usuarios desde tu interface PHP (web) .. pues debes ejecutar "comandos" en la Shell de tu servidor (con funciones como exec() y similares con el comando adecuado según el S.O. de tu servidor y con el problema que PHP al salir al S.O. a ejecutar un comando de esas características necesita permisos de tipo "root" con lo que ello puede comprometer la seguridad de tu servidor entero y problemas para "cambiar" a PHP de usuario por tiempo de ejecución para ejecutar ese comando).

Tu "Administrador de redes" que administre ese servidor de correo debe saber que método usa para crear sus usuarios para el e-mail .. Te hacía mención a dos métodos alterenativos y mucho más flexibles para autentificar usuarios:

* LDAP (es un standard, se usa mucho para centrarlizar sistemas de autentificación .. hasta máquinas windows (sesiones) puedes autentificar contra este tipo de servidores .. y PHP disponde de funciones para actuar como "cliente" para ese tipo de servidores .. No tiene nada que ver directamente con PHP .. )

* "Servidores/cuentas Virtuales" .. No sé que servidor de correo usaran . .pero la mayoría pueden gestionar sus usuarios (con mayor complejidad por supuesto en la configuración del servidor) como "virtuales" .. es decir, .. no se usa usuarios del S.O. en sí sino que se nutre de un archivo de texto plano o BBDD para tal fin. (Yo uso en mi trabajo Postfix configurado de esa forma .. mis usuarios para e-mail están en una BBDD Mysql a la cual puedo acceder con mis aplicaciones PHP sin más drama).

Sería interesante "negociar" con tu Administrador que cambie su método de autentificación para que sea más versatil el sistema .. Y sino, .. creo que directamente deberías olvidarte de "centralizar" tus usuarios o crear interfaces con PHP (por lo menos .. tal vez en Perl podrías hacerlo más comodamente para esa taréa sólo .. como hacen "web mail" con sus módulos en Perl tipo SquirelMail (que en su 99% es PHP) ..). A lo sumo tendras que crear usuarios tipo "direccion de correo/contraseña" en tus sistemas e igualarlas con las de tu servidor de correo (cara al usuario será más comodo .. pero no para ti como administrador de esos sistemas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 11/07/2006, 09:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Hay otro detalle que podría "servirte" (sólo para efectos de validar una autentificación).

Conectarte por POP/IMAP (www.php.net/imap) a tu servidor de correo .. probar tu par de autentificación (usuario/contraseña) y si no pasa ya tienes tu validación (al igual que si pasa) ...

Realmente no es un método muy "ortodoxo" .. Sólo serviría para efectos de "Autentificación" .. igualmente deberías tener una BBDD paralela que haga alguna relación "[email protected]" (el usuario del correo) -> otros datos de su perfil e "ID" que usaras en tus BBDD y relaciones de tu aplicación .. Llegado este punto igualmente en algún momento tienes que ir creando registros en "dos" sitios (tu cuenta al sistema .. y a tu aplicación) .. Valdrá la pena esto? .. (creo que no ..).

Por eso "LDAP" para estos casos es muy útil .. gestionaría como "BBDD" todos esos datos de tu usuario incluido la autentificación. (O la versión "cuentas virtuales").

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 11/07/2006, 09:30
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
k voy hablar con el para hacerlo con ldap, ahora el problema esta q estve leyendo aqui: http://us3.php.net/ldap y quede peor, nunk he rabajado con eso y no entendi nada, podrias darm eun empujoncito o uno sejemplo o algo para saber q tengo q configurar (esas cosas las hace el administrador y yo debo decirle q hacer), sera q me hechas otra manito... gracias
__________________
.-._.-. [email protected]_.-.
  #7 (permalink)  
Antiguo 11/07/2006, 10:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Mirovita
k voy hablar con el para hacerlo con ldap, ahora el problema esta q estve leyendo aqui: http://us3.php.net/ldap y quede peor, nunk he rabajado con eso y no entendi nada, podrias darm eun empujoncito o uno sejemplo o algo para saber q tengo q configurar (esas cosas las hace el administrador y yo debo decirle q hacer), sera q me hechas otra manito... gracias
Tu en PHP debes instalar soporte LDAP para PHP (la extensión)

No sé que S.O. usan tus servidores .. remite a tu administrador a:
www.php.net/ldap

Luego tu "Administrador" tendrá que instalar LDAP (el servidor) en sus servidores y configurar su MTA (no sé cual usa como servidor de correo) para que use LDAP ..

Una vez que tengas eso listo .. por tu parte cara a PHP revisa los ejemplos de la ducomentación de PHP
www.php.net/ldap

(yo no he instalado servidores LDAP .. si tienes dudas al respecto consulta en el foro del S.O. que use tu servidor para más detalles o cual usar).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 11/07/2006, 10:05
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
ok, voy a comenzar por lo primero ver como se instala todo ya veremos como es lo demas, gracias cielo sos un sol...
__________________
.-._.-. [email protected]_.-.
  #9 (permalink)  
Antiguo 28/08/2006, 09:59
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
luego de ya conectada al ldap tengo una dudita.. yo uso esto para imprimir unos datos de los usuarios:
Código PHP:
  for ($i=0$i<$info["count"]; $i++) {
       echo 
"dn es: "$info[$i]["dn"] ."<br />";
       echo 
"La primera entrada cn es: "$info[$i]["cn"][0] ."<br />";
       echo 
"La primera entrada email es: "$info[$i]["mail"][0] ."<br /><hr />";
   } 
pero no se dond buscar q otros campos tengo activos o puedo usar. por ejemplo para ver si puedo tener o agregar la cedula de la persona asi como se obtiene el correo.. sera q me explico?

gracias por todo
__________________
.-._.-. [email protected]_.-.
  #10 (permalink)  
Antiguo 28/08/2006, 10:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Realmente no sé que estructura tiene tu BBDD "LDAP" .. pero ya que lo obtienes en $info (array) podrías hacer un print_r() para ver que tiene y ahí veras tu donde metes otra información realciaonda en tu BDBD "LDAP" o sólo guada algún "identificador" que luego puedas relacionar en tus "perfiles" de usuarios de tu BBDD "Mysql" con más información anexa.

Código PHP:
echo "<pre>";
print_r($info[1]);
echo 
"</pre>"
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 28/08/2006, 10:39
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
uy gracias caballero, ahorita revisando bien me consegui esta funcion: ldap_get_attributes q hace lo q quiero saber.. gracias gracias
__________________
.-._.-. [email protected]_.-.
  #12 (permalink)  
Antiguo 31/08/2006, 14:31
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
holas soy yo de nuevo, quiero agregar una entrada al directorio y me sale un error...aca dejo el codigo y el error a ver si me pueden ayudar..

Código PHP:
<?php
echo "<h3>Prueba de consulta LDAP</h3>";
echo 
"Conectando ...";
$ds=ldap_connect("xx.x.x.x");  // Debe ser un servidor LDAP valido!
echo "El resultado de la conexion es ".$ds."<br />";

if (
$ds) { 
   echo 
"Autentificandose  ..."
$usuario="[email protected]"
$clave="xxxxx"

   
$r=ldap_bind($ds,$usuario,$clave);     // Autentificacion anonima, habitual de los accesos de solo lectura

   
echo "El resultado de la autentificacion es ".$r."<br />";


   
// preparar los datos
   
$info["telephonenumber"]="7777777";
   
$info["description"]="prueba";
  

   
// anadir la informacion al directorio
   
$t=ldap_add($ds"cn=nombre apellido, ou=mi oficina,dc=com"$info);


   
ldap_close($ds);
} else {
   echo 
"No ha sido posible conectarse al servidor LDAP"
}
?>
y el error:

Cita:
Warning: ldap_add() [function.ldap-add]: Add: Can't contact LDAP server in /xxx/xxx/xxx/xxx/xxx/pruebas/ldap prueba2.php on line 23
__________________
.-._.-. [email protected]_.-.
  #13 (permalink)  
Antiguo 01/09/2006, 07:58
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
que podra ser eso?
__________________
.-._.-. [email protected]_.-.
  #14 (permalink)  
Antiguo 01/09/2006, 08:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Mirovita Ver Mensaje
que podra ser eso?
Por cortesía respondo (para que veas que leemos tus mensajes pero no siempre se conoce del tema ..). Por mi parte desconozco el problema.

De todas formas te comento lo que hago yo cuando obtengo un mensaje de error que me desconcierta; uso google y pongo el mensaje de error ahí .. por lo menos: "Warning: ldap_add() [function.ldap-add]: Add: Can't contact LDAP server" y veo .. De ahí suelen salir otras personas que han tenido el problema y consejos sobre que ir revisando o que pruebas hacer .. e incluso "FAQ's" y tutoriales ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 01/09/2006, 08:58
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
uy bueno ya entendi, gracias caballero...
__________________
.-._.-. [email protected]_.-.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:03.