Editar : hashed password

Holas,

estoy haciendo el sistema de autenticacion de usuario, y he usado la
funcion hash_password(), pero no se como hacer para poder darle la
opcion al usuario para que edite su password.

tienen alguna idea o ejemplo de como hacer esto???

muchas gracias

On 04/12/06, Alfredo G. [email protected] wrote:

Holas,

estoy haciendo el sistema de autenticacion de usuario, y he usado la
funcion hash_password(), pero no se como hacer para poder darle la
opcion al usuario para que edite su password.

tienen alguna idea o ejemplo de como hacer esto???

Como patrón general, con el usuario autenticado le dejas que meta la
contraseña, que la confirme y sustituyes la vieja por la nueva.

Opcionalmente le mandas un mail avisándole del cambio.


Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
simplelogica.net

Opcionalmente le mandas un mail avisándole del cambio.

Por hablar con propiedad, no se “avisa” de un cambio hecho por el
mismo usuario. El email sirve de recordatorio/confirmación. :slight_smile:


Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
simplelogica.net

On Dec 4, 2006, at 4:41 PM, Alfredo G. wrote:

estoy haciendo el sistema de autenticacion de usuario, y he usado la
funcion hash_password(), pero no se como hacer para poder darle la
opcion al usuario para que edite su password.

Es habitual no guardar el password. Guardas un hash del password
cuando se crea la cuenta, y autenticas comparandolo con el hash del
password que envia el usuario en el form de login. Hecho asi el
password no puede editarse, solo puede cambiarse por uno nuevo. Los
plugins de autenticacion se encargan de estas cosas, por ejemplo
acts_as_authenticated.

Hablando de esto, desde Rails recientes se puede filtrar passwords en
los logs, es suficiente poner en ApplicationController:

filter_parameter_logging “password”

– fxn

entonces el texto del nuevo password tendria que estar en blanco??..
tendria que tener entonces un modulo especial para cambiar el password

Como te dice Xavier en otra respuesta, en la base de datos tienes un
hash, así que no puede “editar” como tal. Ahí entra lo que te dije yo,
lo que haces es dejarle introducir una contraseña nueva y sustituir la
anterior por el hash de la nueva.

Y no, no necesitas un “módulo” (controlador?) especial. Lo pones como
ejemplo como un action del controlador que estés utilizando para
manejar los settings del usario.


Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
simplelogica.net

Manuel González Noriega wrote:

On 04/12/06, Alfredo G. [email protected] wrote:

Holas,

estoy haciendo el sistema de autenticacion de usuario, y he usado la
funcion hash_password(), pero no se como hacer para poder darle la
opcion al usuario para que edite su password.

tienen alguna idea o ejemplo de como hacer esto???

Como patr�n general, con el usuario autenticado le dejas que meta la
contrase�a, que la confirme y sustituyes la vieja por la nueva.

Opcionalmente le mandas un mail avis�ndole del cambio.


Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
simplelogica.net

entonces el texto del nuevo password tendria que estar en blanco??..
tendria que tener entonces un modulo especial para cambiar el password

Manuel González Noriega wrote:

entonces el texto del nuevo password tendria que estar en blanco??..
tendria que tener entonces un modulo especial para cambiar el password

Como te dice Xavier en otra respuesta, en la base de datos tienes un
hash, as� que no puede “editar” como tal. Ah� entra lo que te dije yo,
lo que haces es dejarle introducir una contrase�a nueva y sustituir la
anterior por el hash de la nueva.

Y no, no necesitas un “m�dulo” (controlador?) especial. Lo pones como
ejemplo como un action del controlador que est�s utilizando para
manejar los settings del usario.


Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
simplelogica.net

Holas, gracias por la respuesta, en mi base de datos tengo una campo con
el password hash, por lo que no puedo cargar la clave para editarla,
solo podria sustituirla por una nueva. es esta la mejor forma de hacer
esto??

Xavier N. wrote:

On Dec 4, 2006, at 5:33 PM, Alfredo G. wrote:

Holas, gracias por la respuesta, en mi base de datos tengo una
campo con
el password hash, por lo que no puedo cargar la clave para editarla,
solo podria sustituirla por una nueva. es esta la mejor forma de hacer
esto??

De hecho lo mejor en mi opinion es que no lo escribas tu mismo,
delega en un plugin mainstream como acts_as_authenticated.

– fxn

ok muchas gracias, estoy investigando el plugin acts_as_authenticated
pero no puedo encontrar el formato de la base de datos user que
necesita.

On Dec 4, 2006, at 5:33 PM, Alfredo G. wrote:

Holas, gracias por la respuesta, en mi base de datos tengo una
campo con
el password hash, por lo que no puedo cargar la clave para editarla,
solo podria sustituirla por una nueva. es esta la mejor forma de hacer
esto??

De hecho lo mejor en mi opinion es que no lo escribas tu mismo,
delega en un plugin mainstream como acts_as_authenticated.

– fxn

Hola.

Si has instalado el plugin, en el directorio

vendor/plugins/acts_as_authenticated/generators/authenticated/templates/

tienes el template que usa para crear la migration de la tabla users que
necesita. Si ya tienes una tabla users, en lugar de la migration que
genera con ese template deberás montar la que necesites para acabar
teniendo esa estructura en la tabla manteniendo lo que tienes.

Saludos

Alfredo G.
escribió:> Xavier N. wrote:

– fxn

ok muchas gracias, estoy investigando el plugin acts_as_authenticated
pero no puedo encontrar el formato de la base de datos user que
necesita.


Andrés Cirugeda E.
ASPgems
Email: andres at aspgems dot com

‘All we have to decide is what to do with the time that is given to us’.
Gandalf.