Was sind die vor-und Nachteile der Verwendung eines E-Mail-Adresse als user-id?
Ich bin erstellen einer web-app erfordert eine Registrierung/Authentifizierung, und ich überlege mir über eine E-Mail-Adresse als einzige Benutzer-id. Hier sehe ich als die vor-und Nachteile (aktualisiert mit Antworten):
PROFIS
-
Weniger ein Feld zu füllen bei der Registrierung (es würde einfach sein E-Mail-Adresse, Kennwort und Kennwort überprüfen). Ich bin ein großer fan von minimalistischen Registrierung.
-
Einen E-Mail-Adresse ist leichter zu merken. (Dank Mitch, Jeremy)
-
Sie nicht haben, um sorgen über Ihre Lieblings-username genommen schon - du bist der einzige, wer Ihre E-Mail-Adresse. (Dank TStamper)
NACHTEILE
-
Benutzer hat mehr zu jeder Zeit geben Sie sich anmelden.
-
Was will ein Benutzer mehrere Konten? Sie müssen eine andere E-Mail-Adresse. (Kann ich sogar möchten, dass ein Benutzer in der Lage sein, mehrere Konten zu erstellen?)
-
Einfach für einen möglichen Angreifer zu erraten (wenn Sie wissen, dass die Ziel-E-Mail-Adresse, Sie wissen, dass die login-id). (Dank Vasil)
-
Benutzer könnten versucht sein, verwenden Sie das gleiche Kennwort, die Sie für Ihre E-Mail-Konto, das ist schlecht Sicherheit. (Dank Thomas)
-
Wenn Sie E-Mail-Adressen Häufig, kann es schwierig sein, sich daran zu erinnern, welche Adresse Sie zum anmelden bei einer Website nach einer langen Pause. (Dank Software Monkey)
-
Könnte ein hacker spam-Anmeldeformular und verwenden Sie "E-Mail bereits getroffen" Antworten zu generieren, die eine Liste Gültiger E-Mails. (Dank David)
-
Nicht jeder hat einen E-Mail-Adresse. (Dank Nicholas)
Wenn ich ging mit E-Mail als id würde ich einen Mechanismus bereitstellen, um zu ermöglichen, dass es geändert in dem Falle, dass ein Benutzer änderungen Adresse. In diesem Fall würden die Nutzer nicht posten von Inhalt in einem öffentlichen Ort, so dass ein separater Benutzername nicht erforderlich ist, um die E-Mail-Adressen (aber es ist etwas zu prüfen, für die anderen Seiten).
Andere Möglichkeit ist die Implementierung von OpenID (das ist eine ganz andere Debatte).
Dies scheint für Google arbeiten, sondern Ihre Dienste sind nahtlos integriert. Was habe ich verpasst in meiner Analyse? Hast du irgendwelche Empfehlungen? Hat jemand Erfahrungen zu teilen?
ENDGÜLTIGE BEARBEITUNG
Danke Euch allen für Eure Antworten. Ich habe beschlossen, zu verwenden E-Mail als id, aber dann erlauben die Erstellung von Benutzername für login-Zwecke nach der Registrierung. Dies ermöglicht ein wenig Flexibilität während der Anmeldung so kurz wie möglich. Es verhindert auch Probleme, wenn ein Benutzer änderungen E-Mail-Adressen (Sie können einfach melden Sie sich mit Ihrem Benutzernamen und aktualisieren Sie Sie). Ich werde auch die Implementierung von Methoden, um zu verhindern, dass brute-forcen von E-Mail-Adressen aus der Registrierung und login-Systeme (vor allem eine cool-down-Zeit nach wiederholten versuchen).
- Ihren ersten PROFI-stimmt nicht in jedem Fall, denn Ihre Benutzer müssen noch einen Benutzernamen für das posten von Inhalten auf Ihrer Website.
- Sollten Sie Bearbeiten Ihre Frage mit kurz-Liste der pro/con-aus den Antworten.
- wenn eine Antwort Ihnen geholfen hat, bitte akzeptieren Sie es. Dank
- ODER man könnte nur Anzeige "ID - / Passwort-Kombination nicht stimmt. Bitte versuchen Sie es erneut oder setzen Sie Ihr Passwort." Unabhängig davon, welche Methode Sie verwenden, denken Sie daran, auch einige Gegenmaßnahmen, die "Ihr Passwort zurücksetzen" - Seite für die spiders.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich eher nicht bevorzugen, pro/con-Listen, und versuchen stattdessen, denken Sie an die Vorteile und Herausforderungen.
Herausforderung:
Einige Nutzer wird geneigt sein zu verwenden Ihre E-Mail-Adresse von Ihrem ISP. Eine Verknüpfung zu einer E-Mail alleine kann schwierig sein, für die Benutzer, die vergessen zu aktualisieren, Ihre E-Mail-in allen web-Seiten Sie sich angemeldet haben, bevor Sie ISPs ändern.
Statt:
Sollten Sie zulassen, dass ein Benutzer mehrere Adressen, wie auch Benutzer-ausgewählten id und lass dann die user entscheiden was Sie wollen, Sie tun möchten. Vielleicht auch prüfen, so dass der Benutzer einen OpenID-account.
Persönlich, ich ziehe gerade mit meinem E-Mail-Adresse als Benutzername. Es ist weniger eine Sache zu erinnern, und ich habe nie sorgen zu machen über die von mir gewünschte name nicht bereits genommen.
Just my 2 cents!
Ich glaube, du verpasst ein PRO:
Benutzer wahrscheinlich denken Sie daran, Ihre E-Mail-Adresse; und als E-Mail-Adressen sind einzigartig, Sie haben nie sorgen zu machen über Ihre bevorzugten Benutzernamen genommen schon.
NACHTEILE
Als Nutzer von Webseiten, kann ich Ihnen sagen, dass ich hasse Auswendiglernen unnötig Benutzernamen. Ich glaube nicht, verwenden Sie eine einzigartige Griff oder so etwas kann ich mich nie daran erinnern, welche variation meines namens, die ich verwendet, die nicht bereits genommen. Ich würde viel lieber geben Sie meine E-Mail-Adresse.
Ich mag auch OpenID.
CON: Nicht jeder hat einen e-mail-Adresse. Überlegen Sie, ob Ihre Datenbank wird immer zugegriffen, indem eine interne Anwendung. Wenn Sie mit einem Geschäft, Menschen wird anrufen und telefonisch bestellen und sich weigern, eine e-mail-Adresse. So, während ich einen e-mail-Adresse als Standard-Benutzer-ID ist cool, sicher sein, um zu ermöglichen, wechselt in das system zu erhalten. (Natürlich, dies hängt vom Kontext ab.)
Gelernt, das man den harten Weg.
Einem setup möchten Sie vielleicht zu berücksichtigen: sowohl ein Benutzername und eine E-Mail. Die E-Mail wird verwendet, um login-und ist immer privat gehalten, der Benutzername dient zur Identifikation des Benutzers in einem öffentlichen Interaktion, wie z.B. einen Kommentar einstellen). Es windet sich ein wenig sicherer, da beide Hälften das der Benutzer die Anmeldedaten sind geheim gehalten, in der Erwägung, dass, wenn Sie einen Benutzernamen verwenden, der für beide login und öffentlichen Identifizierung, die Hälfte der login ist bereits bekannt.
Ich Stimme definitiv mit Ihnen darüber, dass die minimale Registrierung in den meisten Fällen, aber je nachdem, was Sie tun, möchten Sie vielleicht, um die balance, die gegen zusätzliche Sicherheit für Ihre Nutzer. Vier Felder ist nicht empörend für die Anmeldung (Benutzername, email, Kennwort, Kennwort bestätigen), und wenn Sie das Gefühl besonders abenteuerlustig sind, könnten Sie schneiden Sie es bis auf die drei, indem Sie das Feld Kennwort bestätigen ein, oder zwei von Ihnen eine E-Mail ein Passwort, das Sie später ändern können.
PRO
Leute hassen zu müssen, erstellen Sie einen eindeutigen Namen, der passt Ihre id und das hat nicht bereits getroffen wurden, um dich für eine Seite..Also das ist, warum die Benutzer-id als E-MAIL-ADRESSE ist so angenommen.
ex:TStamper1930, wer will eigentlich zu erinnern, die 1930 am Ende von meinem Namen, das ich wirklich wollte
CON: Wenn ein hacker kann versuchen, die Registrierung von zufälligen E-Mail-Adressen en masse, wird er oder Sie in der Lage sein, um herauszufinden, welche Adressen gültig sind, basierend auf die Anmeldungen fehl. Das ist eine Taktik, die verwendet werden können, um gemeinsam Listen von gültigen email-Adressen, die eine heiße Ware auf dem spam-Markt schwarz.
Obwohl jetzt, dass ich denke, das ist ein problem, das wirkt sich auf jede website, die Sie fragt, um eine E-Mail-Adresse als Teil der Registrierung, unabhängig davon, ob oder nicht es eine separate Benutzernamen. Aber es ist immer noch etwas zu denken.
CON: Wenn ich meine E-Mail-Adresse, werden plötzlich alle meine account-Namen sind ungültig. Mein name ändert sich nicht, aber meine E-Mail Häufig der Fall ist. Ich habe gelegentlich revisited einer Website nach einer Reihe von Jahren, und schon stecken... was war meine E-Mail-Adresse vor zwei Jahren???
Stick zur E-Mail-Adressen, die Sie sind überall dort im Einsatz, eigentlich die meisten der großen websites, die Sie verwenden, Sie sind einzigartig, so dass Sie speichern Sie die Benutzer aus, die kämpfen, um einen Namen finden, der nicht von anderen benutzt werden, auch die Nutzer nicht vergessen, Ihre E-Mail-Adressen (in den meisten Fällen zumindest :)), das ist im Gegensatz zu Benutzernamen, Sie werden immer vergessen, wenn Sie nicht besuchen Sie Ihre Seite sehr oft.
Sollten Sie nicht besorgt sein über Sie zu lang werden, da alle gängigen Browser (IE, FF etc..) bieten AutoVervollständigen für Formulare, die standardmäßig aktiviert ist, so geben Sie den ersten Buchstaben in Ihrer E-Mail und Sie erhalten eine drop-down-Liste (ie. AutoVervollständigen-Liste), wo Sie nur klicken Sie auf geben Sie die gesamte E-Mail, persönlich habe ich fast nie geben Sie die E-Mail-Adresse voll ist, ich immer geben Sie den ersten Buchstaben ein, dann wählen Sie die E-Mail aus der AutoVervollständigen-Dropdown-Liste. Außerdem, wenn Sie zulassen, dass Benutzer erinnert werden (mit ein Remember Me-Kontrollkästchen und persistente cookies), es wird ein weiterer Grund sein, um sich keine sorgen machen.
Ich weiß nicht, über Ihr app aber in der Regel Benutzer mit mehreren accounts ist nicht erwünscht in den meisten apps.
Einer con könnte sein, dass wenn es eine E-Mail-Adresse die Anmeldung erraten werden kann, von Menschen und brute-force-Attacken versucht. Das ist nicht wirklich ein großes Problem, da auf den meisten sites heute die Anmeldungen werden öffentlich angezeigt.
Der größte pro ist, dass die Anmeldungen sind leichter zu merken, auf diese Weise.
Einem guten setup ist erforderlich Benutzername und E-Mail. Ermöglicht dem Benutzer die Anmeldung mit E-Mail-Adresse oder Nutzernamen ist sehr benutzerfreundlich. Ein zusätzlicher Vorteil ist, die Anwender können Ihre E-Mail-Adresse. Es wäre auch erlaubt, mehrere Konten für eine E-Mail.
Lösen Ihre con Element der E-Mail als zu lang, um geben Sie jedes mal. Ich habe implementiert die StringScan Ruby-Bibliothek.
etc..
Dann ändern Sie einfach die login-Methode, so dass entweder E-Mail oder login übereinstimmen Passwort.
Dieser funktioniert genauso wie google oder mobileme. Ein Benutzer kann wählen, geben Sie einfach Ihre E-Mail-Benutzername (ie. username statt [email protected].)
Wenn Sie kümmern sich nicht um erzwingen Ihre Benutzer-login auf die Anwendung mit Facebook oder anderen sozialen Netzwerk (die meisten Menschen scheint das nicht zu kümmern), dann können Sie einfach die Nutzung Ihrer social-network-E-Mail als Ihre "user-id", wenn Verweise auf andere Tabellen/Dokumente (MySQL, Mongo, etc).
Habe ich bemerkt dass der bonus für die Verwendung von social media-logins, die alle die Sicherheit wurde gesorgt, indem Sie sagte, Soziales Netzwerk, einschließlich der nicht so dass 2 Benutzer den gleichen E-Mail-oder Benutzernamen in der Datenbank so speichern Sie den Aufwand, den code für alle, die. Dies ist nur meine persönliche Präferenz.