2010-01-25 17 views
5

Estoy usando la dirección de correo electrónico como nombre de usuario y estoy permitiendo que los usuarios cambien su correo electrónico ... lo que obviamente también cambia su nombre de usuario. ¿Hay alguna razón por la cual permitir esta flexibilidad sería un problema? los usuarios son rastreados con ID de usuario.¿Debo permitir que el usuario cambie el correo electrónico cuando usa el correo electrónico como nombre de usuario?

gracias

+1

Diría que tendrías mayores problemas si * no * permitieras esa flexibilidad. – Jay

+0

pero eso significa que cualquiera puede pasar su cuenta a otra persona y nadie más sabrá la diferencia – zsharp

+0

que pueden hacer eso de todos modos: simplemente pase su contraseña y nadie sabe la diferencia. –

Respuesta

3

yo recomendaría hacer el seguimiento de los viejos y nuevos correos electrónicos y permiso para ingresar con cualquiera. FogBugz tiene un campo de nombre de usuario y un correo electrónico con soporte para múltiples direcciones de correo electrónico y los usuarios pueden iniciar sesión con cualquier dirección de correo electrónico o el nombre de usuario que hayan elegido.

No haga las cosas más difíciles para el usuario cuando es fácil programarlas.

+0

mantener malas direcciones de correo electrónico es una mala idea, ¿qué pasa si alguien más obtiene esa dirección de correo electrónico, un gran agujero de seguridad. –

+0

Puede agregar funcionalidad para eliminar direcciones de correo electrónico también, entonces es responsabilidad del usuario. –

2

Si su sistema contacta al usuario con información sobre su cuenta por correo electrónico, creo que permitirle al usuario que cambie su correo electrónico debe permitirse.

1

Cuando dice que los usuarios son rastreados con ID de usuario, ¿significa userid la dirección de correo electrónico? Lo que podría intentar es generar un ID de usuario # para cada usuario y usarlo para rastrear usuarios en lugar de direcciones de correo electrónico. Todavía puede usar las direcciones de correo electrónico como su mecanismo de inicio de sesión y todo eso, pero usar un número detrás de las escenas permitiría a los usuarios cambiar las direcciones de correo electrónico.

+0

El OP no indicó qué sistema está utilizando, pero si se trata del proveedor de seguridad ASP.NET (o similar), hay una "clave" de usuario (un GUID) que se usa internamente para identificar al usuario, completamente independiente de su nombre de usuario o dirección de correo electrónico. – GalacticCowboy

0

Si la sugerencia de Sam no funciona para usted, podría al menos notificárselo en la página web o por correo electrónico. (o ambos)

1

Te recomiendo que uses un número de identificación como clave principal de la tabla y puedas usar lo que quieras como nombre de usuario, por ejemplo, el correo electrónico. El usuario solo verá su nombre de usuario pero no el ID. Entonces el usuario podrá cambiar su nombre de usuario (correo electrónico) pero la clave principal será la misma y no habrá ningún problema con las claves externas a otras tablas.

+0

El OP dijo que ya está usando un ID de usuario internamente. –

0

Dado que tiene un ID de usuario, debe permitirlo. Mantengo un sitio web donde el correo electrónico es un inicio de sesión para los usuarios registrados, pero a veces los usuarios pueden desactivar/cambiar su correo electrónico por cualquier motivo y luego actualizan su correo electrónico. No desea perder sus usuarios al restringir esto.

2

Casi todos los sitios que he visto utilizan una dirección de correo electrónico, ya que el inicio de sesión les permite a los usuarios cambiar su dirección de correo electrónico y, por lo tanto, sus nombres de usuario.

En términos de identidad pública, la mayoría de los servicios le permiten crear un nombre de pantalla o manejar su cuenta, de modo que mientras puede iniciar sesión con su correo electrónico "[email protected]", todavía se lo conocerá como "Bob" independientemente de si cambias o no tu correo electrónico/inicio de sesión.

También es una buena idea no mostrar las direcciones de correo electrónico de las personas a menos que lo permitan explícitamente.

+0

así es como lo tengo configurado. mi preocupación es que puedo pasar mi cuenta a otra persona y esa nueva persona hereda el historial de personas anteriores pero puede cambiar el correo electrónico Y el nombre para mostrar, y puede ser un fraude completo. – zsharp

5

La capacidad de cambiar la dirección de correo es esencial, de lo contrario un usuario puede perder todos sus datos en su sitio porque es posible que ya no pueda acceder a él (la recuperación de contraseña ya no funcionaría).

¡Solo asegúrese de que la nueva dirección de correo electrónico esté verificada y mantenga la anterior (y solo esa) activa hasta que se realice la verificación!

No entiendo exactamente a qué se refiere con

mi preocupación es que puedo pasar mi cuenta a otra persona y esa nueva persona hereda la historia de las personas antes, pero puedo cambiar el correo electrónico y el nombre para mostrar , y sea un fraude completo

En caso de que alguien pase su cuenta por lo que alguien más, su mala suerte. Incluso si requiriera autenticación de PIN/teléfono móvil con mensaje corto, igual debería darle al usuario la opción de cambiar también su número de celular.

Snail mail y nombres reales (es decir, el enfoque bancario) son una opción, pero eso es lento y bastante caro.

+0

"hasta que se verifique el correo electrónico" ... incluso si el correo electrónico no ha sido verificado por enlace, todavía puede iniciar sesión con él siempre que el nombre de usuario haya cambiado con éxito – zsharp

+1

No estoy seguro de entender esto correctamente. Digamos que estoy conectado como ID de usuario 1, dirección '[email protected]'. Ahora, quiero cambiar mi dirección de correo a '[email protected]'. Almacena este enlace de verificación en su base de datos, junto con el ID de usuario 1. Al verificar la dirección de correo electrónico -y no antes-, cambia la dirección de correo electrónico y, por lo tanto, también el nombre de usuario en la base de datos. Si su cookie de autenticación estaba vinculada a la dirección de correo electrónico, el usuario debe iniciar sesión de nuevo, si está vinculada a la identificación que no es necesaria (de su pregunta original creo que es la primera). – mnemosyn

Cuestiones relacionadas