Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:
Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro

Si sos masters en postgresql, ayudame.

Arquitectura, Extending SQL, The Postgree Rule System, Intefacing, Trigers, ODBC, JDBC, C++...

Si sos masters en postgresql, ayudame.

Notapor nano.olim el Mar Jun 27, 2006 1:03 pm

Hola!....si alguna vez utilizaste la base de datos de postgres, y has trabajado con los usuarios que se crean en la misma!...necesito saber como traer los datos para mi aplicacion, dado que solo puedo traer el nombre del USER, pero como la pass esta encriptada, y el md5 no me funciona, vos sabes como hacer para poder saber si mi usuario esta en la base de datos, si crear una tabla usuario, sino que trabajando como yo lo quiero hacer, con los usuarios de postgres!.....muchas gracias!.
nano.olim
Novato
Novato
 
Mensajes: 10
Registrado: Mar Jun 27, 2006 12:56 pm
Ubicación: L. San Martin

Re: Si sos masters en postgresql, ayudame.

Notapor latindeveloper el Mar Jun 27, 2006 5:04 pm

Los usuarios de postgresql estan en la tabla del sistema pg_user
revisa la estructura de esa tabla:

http://www.postgresql.org/docs/8.0/stat ... -user.html
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Ayudame

Notapor nano.olim el Mié Jun 28, 2006 7:19 am

Hola!...gracias por la ayuda!...pero.....me esta faltando saber como comparar si la contraseña del usuario es valida, porque como sigue encriptada y el md5 no me funciona, como puedo saber eso?
nano.olim
Novato
Novato
 
Mensajes: 10
Registrado: Mar Jun 27, 2006 12:56 pm
Ubicación: L. San Martin

Re: Ayudame

Notapor latindeveloper el Mié Jun 28, 2006 11:11 am

Entiendo que lo que quisiste hacer es crear una tabla donde tendras a los usuarios y sus respectivas contraseñas.

Pero no pudiste utilizar la encriptacion md5 e intentaste utilizar los mismos usuarios del postgresql.

Aclaraciones:

Las validaciones de los usuarios del postgresql las hace el mismo postgresql, tambien lo puedes hacer tu mismo pero no valdría la pena escribir el codigo que haga tal cosa.

En tu caso es mejor crear una tabla de usuarios y crear un campo para la contraseña de tipo varchar(32).

Para almacenar la contraseña es necesario ejecutar una consulta algo asi:

Código: Seleccionar todo
insert into usuarios (login,password) values ('jose',md5('tupassword'));


al hacer select login,password from usuarios obtendras:

Código: Seleccionar todo
login     password
---------------------------
jose      f6c91edfea887576d3275a6402b60e4c


Para verificar si el usuario jose tiene la contraseña 'tupassword' entonces haces:

Código: Seleccionar todo
insert * from usuarios where login = 'jose' and password = md5('tupassword');

si realmente existe entonces devolverá una fila.
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Notapor nano.olim el Mié Jun 28, 2006 11:20 am

Te agradezco por la ayuda que me estas dando!....y pido perdon porque no fui muy claro!....yo estoy trabajando con los usuarios de la base, y los cree con:

CREATE USER nano PASSWORD 'miPass'

y este es mi problema!....que no puedo recuperar la pass, se que puedo recuperar los datos con un simple select de la tabla "pg_user", pero la pass se encuentra encriptada!....por eso no se como recuperar los datos!....que hago?
nano.olim
Novato
Novato
 
Mensajes: 10
Registrado: Mar Jun 27, 2006 12:56 pm
Ubicación: L. San Martin

consulta sql

Notapor latindeveloper el Mié Jun 28, 2006 11:54 am

Puedes mostrarlos el resultado de las consultas siguientes:

select usename,passwd from pg_users;

select usename,passwd from pg_shadow;

para poder saber que metodo esta utilizando potgresql para encriptar sus contraseñas.
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Notapor nano.olim el Mié Jun 28, 2006 12:08 pm

Ya me fije y la funcion es md5.....pero cuando la quiero utilizar me tira un error:

ERROR: Function md5("unknown") does not exist
Unable to identify a function that satisfies the given argument types
You may need to add explicit typecasts


que puedo probar para encriptar la pass?
:?:
nano.olim
Novato
Novato
 
Mensajes: 10
Registrado: Mar Jun 27, 2006 12:56 pm
Ubicación: L. San Martin

Notapor latindeveloper el Mié Jun 28, 2006 12:25 pm

Ya probaste con md5('unknown')? (con comilla simple.)
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Notapor nano.olim el Mié Jun 28, 2006 12:50 pm

Este es el sql que utilizo yo!

select usename, passwd from pg_shadow
where passwd = md5('mariano')

y me da ese error que te mostre antes...estoy medio estancado con esto...como puedo hacer?
nano.olim
Novato
Novato
 
Mensajes: 10
Registrado: Mar Jun 27, 2006 12:56 pm
Ubicación: L. San Martin


Volver a PostgreSQL

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados