Pergunta

Estou criando uma aplicação web que exige registro / autenticação, e eu estou pensando em usar um endereço de e-mail como o único ID de usuário. Aqui está o que eu vejo como os prós e contras (atualizado com respostas):

PROS

  1. Menos um campo para preencher durante a inscrição (que seria apenas o endereço de e-mail, senha e verificar senha). Eu sou um grande fã do registo minimalista.

  2. Um endereço de e-mail é mais fácil de lembrar. (Graças Mitch , Jeremy )

  3. Você não tem que se preocupar com seu nome de usuário favorito que já estão sendo tomadas - você é o único que usa o seu endereço de e-mail. (Graças TStamper )

CONS

  1. O usuário tem mais de digitar cada vez que efetuar login.

  2. E se um usuário quer várias contas? Eles vão precisar de outro endereço de e-mail. (Eu ainda quero um usuário para ser capaz de criar várias contas?)

  3. fácil para um potencial atacante de adivinhar (se eles sabem o endereço de email do alvo, eles sabem o ID de login). (Graças Vasil )

  4. Os usuários podem ser tentados a usar a mesma senha que eles usam para a sua conta de e-mail, o que é ruim segurança. (Graças Thomas )

  5. Se você alterar os endereços de e-mail com freqüência, pode ser difícil lembrar qual endereço você usou para se inscrever para um site depois de um longo hiato. (Graças Monkey Software )

  6. Um hacker poderia spam o formulário de inscrição e utilização "e-mail já tomadas" respostas para gerar uma lista de e-mails válidos. (Graças David )

  7. Nem todo mundo tem um endereço de e-mail. (Graças )

Se eu fui com e-mail como ID, gostaria de fornecer um mecanismo para permitir que ele seja alterado no caso de um usuário muda de endereço. Neste caso, os usuários não seria postar conteúdo para um site público, para que um nome de usuário separada não será necessário para proteger os endereços de e-mail (mas é algo a considerar para outros sites).

Outra opção é implementar OpenID (que é todo um outro debate).

Isso parece funcionar para o Google, mas seus serviços são totalmente integrados. O que eu perdi na minha análise? você tem alguma recomendação? Alguém tem experiências para compartilhar?

EDIT FINAL

Obrigado a todos por suas respostas. Eu decidi usar e-mail como um ID, mas, em seguida, permitir a criação de um nome de usuário para fins de login após o registo. Isso permite que um pouco de flexibilidade, mantendo o registro o mais curto possível. Ele também evita problemas quando um usuário muda de endereço de e-mail (que pode faça o login com o seu nome de usuário e atualizá-lo). Eu também irá implementar métodos para evitar de endereços de email para fora dos sistemas de registro e login (principalmente um período de esfriamento após repetidas tentativas)-forçando bruta.

Foi útil?

Solução

I tendem a preferem não pro listas / con, e em vez de tentar pensar em benefícios e desafios.

Challenge:

Alguns usuários serão tentados a usar o seu endereço de e-mail de seu ISP. Ligando para um e-mail por si só, pode ser difícil para os usuários que se esquecem de atualizar seu e-mail em todos os sites da web que se inscreveram para antes de mudar ISPs.

Em vez disso:

Você deve considerar permitindo que um usuário para fornecer vários endereços, bem id selecionado pelo usuário e, em seguida, deixar o usuário decidir o que quer que desejam fazer. Talvez também considerar permitindo que o usuário forneça uma conta OpenID.

Outras dicas

Pessoalmente, eu prefiro usar apenas o meu endereço de e-mail como um nome de usuário. É uma coisa a menos para se lembrar, e eu nunca precisa se preocupar em ser o meu nome preferido já tomadas.

Apenas meus 2 centavos!

Eu acho que você perdeu um PRO:

Os usuários são propensos a lembrar o seu endereço de e-mail; e, como endereços de e-mail são únicos, eles nunca tem que se preocupar com seu nome de usuário preferido que já estão sendo tomadas.

CONS

  1. Quando a mesma senha é usada para a conta de e-mail, comprometendo o único meio automaticamente comprometer o outro.

Como um usuário de sites, eu posso te dizer que eu odeio memorizar nomes de usuários desnecessários. Eu não usar um identificador exclusivo ou qualquer coisa assim que eu nunca lembro qual variação do meu nome que eu usei que não foi já tomada. Eu prefiro escrever meu endereço de e-mail.

Além disso, eu como OpenID.

CON: Nem todo mundo tem um endereço de e-mail. Considere se o seu banco de dados é sempre acessado por um aplicativo interno. Se você estiver executando uma loja, as pessoas irá chamar e fazer um pedido por telefone e se recusam a fornecer um endereço de e-mail. Assim, ao ter um endereço de e-mail como o ID de usuário padrão é legal, certifique-se de permitir que suplentes para entrar no sistema. (Claro, isso depende do contexto.)

aprendi este a maneira dura.

Uma configuração que você pode querer considerar: ter tanto um nome de usuário e um e-mail. O e-mail é usado para fazer o login e é sempre mantido privado, o nome de usuário é usada para identificar o usuário em qualquer interação com o público, como postar um comentário. Ele acaba sendo um pouco mais seguro como as duas metades das credenciais de login do usuário são mantidas em sigilo, enquanto que se você usar um nome de usuário para ambos login e identificação pública, metade do login já é conhecido.

Eu definitivamente concordo com você sobre ter registro mínima para a maioria dos casos, mas dependendo do que você está fazendo você pode querer equilibrar isso com maior segurança para seus usuários. Quatro campos não é ultrajante para o registo, (nome de usuário, e-mail, senha, senha confirmar), e se você estiver sentindo particularmente aventureiro, você pode cortá-la para baixo a três, largando o campo Confirmar senha, ou dois enviando-os uma senha que podem mudar mais tarde.

PRO

As pessoas odeiam ter que criar um nome único que se encaixa o seu ID e que já não tenha sido tomada para registrar uma site..So é por isso que o ID de usuário como EMAIL ADDRESS é tão abraçado.

ex : TStamper1930, quem realmente quer se lembrar de 1930, no final do meu nome que eu realmente queria

CON: Se um hacker pode tentar registrar endereços de email aleatórios en masse, ele ou ela será capaz de descobrir qual desses endereços são válidos a partir do qual registros falhar. Esta é uma tática que pode ser usado para montar listas de endereços de e-mail válidos conhecidos, que são uma mercadoria quente no mercado negro spam.

Embora, agora que penso nisso, isso é um problema que afeta todo o Web site que pede um endereço de e-mail como parte do processo de registro, independentemente de se há ou não um nome de usuário separada. Mas ainda é algo para se pensar.

CON: Se eu alterar meu endereço de e-mail, de repente todos os meus nomes de conta são inválidas. Meu nome não muda, mas o meu e-mail, muitas vezes faz. Eu ocasionalmente revisitado um site depois de um certo número de anos, e foi preso ... o que era o meu endereço de e-mail, há dois anos ???

Vara para endereços de e-mail são usados ??em todos os lugares, na verdade, a maioria dos principais sites de usá-los, eles são únicos para que eles salvar o usuário de lutar para encontrar um nome que não é usado por outros, também os usuários não esquecer os seus endereços de email (na maioria dos casos, pelo menos :)), que é diferente de nomes de usuário que eles vão continuar a esquecer se não visitar o seu site com muita frequência.

Você não deve se preocupar com eles serem muito tempo como todos os principais navegadores (IE, FF .. etc) oferta de preenchimento automático de formulários, que é ativado por padrão, para que você digite as primeiras letras em seu e-mail e você terá um drop-down list (lista de autocomplete ie.) onde você apenas clique para entrar todo o e-mail, pessoalmente, eu quase nunca digite o endereço de e-mail na íntegra, eu sempre digitar as primeiras letras, em seguida, selecione o e-mail a partir da queda autocomplete lista para baixo. Além disso, se você permitir que os usuários de ser lembrado (usando um Lembrar-me caixa de seleção e cookies persistentes), será mais um motivo para se preocupar com isso.

Eu não sei sobre a sua aplicação, mas geralmente usuários com múltiplas contas não é desejável na maioria dos aplicativos.

Um con pode ser que se é um endereço de e-mail de login pode ser adivinhada por pessoas e ataques de força bruta tentada. Que não é realmente um grande problema, uma vez que na maioria dos sites hoje os logins são exibidos ao público.

A maior pro é que os logins são mais fáceis de lembrar desta forma.

Uma boa configuração é exigir nome de usuário e e-mail. Permitindo que o usuário faça o login com qualquer endereço de e-mail ou nome de usuário é muito amigável. Um benefício adicional é que o usuário pode alterar o seu endereço de e-mail. Também permitiria que várias contas para um e-mail.

Para resolver o seu con artigo do e-mail ser demasiado longo para digitar em todos os tempos. Eu tenho implementado a biblioteca StringScan Ruby.

require 'strscan'    
def signup!(user, &block)    
self.email = user[:email] unless user[:email].blank?    
str = StringScanner.new(self.email)    
str.scan_until(/@/)    
str.pre_match    
self.login = str.pre_match

etc ..

Em seguida, basta alterar o método de login para permitir e-mail ou de login para coincidir com a senha.

Isto funciona como o Google ou o MobileMe. Um usuário pode optar por apenas digite seu nome de usuário e-mail (ie. Nome de usuário em vez de username@gmail.com.)

Se você não se importa sobre como forçar os usuários para acessar o aplicativo com o Facebook ou alguma outra rede social (a maioria das pessoas não parecem cuidado), então você pode simplesmente usar o seu desenvolvimento social e-mail de rede como o seu 'ID de usuário 'ao fazer referência a outras tabelas / documentos (MySQL, Mongo, etc).

Eu observei o bônus para usando logins de mídia social é que toda a segurança foi tomado cuidado pela referida rede social, incluindo não permitindo que 2 usuários tenham o mesmo e-mail ou nome de usuário em seu banco de dados poupando-lhe o aborrecimento de ter de código para tudo isso. Esta é apenas a minha preferência pessoal.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top