Frage

Ich erstelle eine Web-Anwendung, die Anmeldung / Authentifizierung erforderlich ist, und ich überlege, eine E-Mail-Adresse als einzigen Benutzer-ID verwenden. Hier sind, was ich sehe, wie die Vor-und Nachteile (mit Antworten aktualisiert):

PROS

  1. Ein kleiner Bereich bei der Registrierung ausfüllen (es wäre nur E-Mail-Adresse sein, ein Passwort und überprüft Passwort). Ich bin ein großer Fan von minimalistisch Anmeldung.

  2. Eine E-Mail-Adresse ist leichter zu merken. (Dank Mitch , TStamper )

CONS

  1. Benutzer hat mehr jedes Mal wenn sie sich anmelden zu geben.

  2. Was passiert, wenn ein Benutzer mehrere Konten will? Sie werden eine andere E-Mail-Adresse benötigen. (Will ich auch ein Benutzer in der Lage sein, mehrere Konten zu erstellen?)

  3. für Easy einen potentiellen Angreifer zu erraten (wenn sie das Ziel der E-Mail-Adresse kennen, wissen, dass sie die Login-ID). (Dank Vasil )

  4. Die Benutzer können das gleiche Passwort sie für ihr E-Mail-Konto verwenden zu verwenden versucht sein, die schlechte Sicherheit. (Dank Thomas )

  5. Wenn Sie E-Mail-Adressen ändern sich häufig, kann es schwierig sein, sich daran zu erinnern, welche Adresse Sie für eine Website nach einer langen Pause, um sich verwendet. (Dank Software Affe )

  6. Ein Hacker könnte das Anmeldeformular Spam und „E-Mail bereits genommen“ Antworten verwenden, um eine Liste der gültigen E-Mails zu generieren. (Dank David )

  7. Nicht jeder hat eine E-Mail-Adresse. (Dank Nicholas )

Wenn ich mit E-Mail als id ging, würde ich einen Mechanismus bereitstellen, damit es ändert sich im Falle einer Benutzeradresse geändert werden. In diesem Fall würden Benutzer nicht Inhalte zu einem öffentlichen Ort zu veröffentlichen, so dass ein separater Benutzername wird nicht notwendig sein, um die E-Mail-Adressen zu schützen (aber es ist etwas für andere Websites zu betrachten).

Eine weitere Möglichkeit ist OpenID zu implementieren (das ist eine ganz andere Debatte ist).

Dies scheint für Google zu arbeiten, aber ihre Dienste fest integriert sind. Was habe ich verpasst in meiner Analyse? Haben Sie irgendwelche Empfehlungen? Hat jemand Erfahrungen zu teilen?

FINAL EDIT

Vielen Dank für Ihre Antworten. Ich habe zu verwenden, E-Mail als id entschieden, aber dann die Erstellung eines Benutzernamen zur Anmeldung nach Anmeldung zu ermöglichen. Dies ermöglicht eine wenig Flexibilität bei der Registrierung so kurz wie möglich zu halten. Es verhindert auch Probleme, wenn ein Benutzer E-Mail-Adressen ändert (sie können nur mit ihrem Benutzernamen anmelden und aktualisieren). Ich werde die Umsetzung Methoden auch Brute-Forcing der E-Mail-Adressen aus den Registrierungs- und Anmeldesystemen (vor allem einer Abkühlphase nach wiederholten Versuchen).

zu verhindern
War es hilfreich?

Lösung

Ich neige dazu, nicht pro / con-Listen zu bevorzugen und stattdessen versuchen, Vorteile und Herausforderungen zu denken.

Herausforderung:

Einige Benutzer werden versucht sein, ihre E-Mail-Adresse von ihrem ISP zu verwenden. Verknüpfung mit einer E-Mail allein kann für den Benutzer schwierig sein, die vergessen, ihre E-Mails in allen Web-Site aktualisieren sie unterzeichnet haben, sich für, bevor sie ISPs ändern.

Statt:

mehr Adressen zur Verfügung zu stellen, als auch vom Benutzer ausgewählten ID und dann lassen Sie die Benutzer entscheiden, was sie wollen, sie wollen tun

Sie sollten erwägen, einen Benutzer zu ermöglichen. Vielleicht betrachtet auch den Benutzer ermöglicht, ein OpenID-Konto zur Verfügung zu stellen.

Andere Tipps

persönlich lieber mit, ich meine E-Mail-Adresse nur als Benutzername ein. Es ist eine Sache weniger, sich daran zu erinnern, und ich habe nie über meine bevorzugte Name ist bereits vergeben sorgen.

Just my 2 cents!

Ich glaube, Sie ein PRO verpasst haben:

Benutzer sind wahrscheinlich ihre E-Mail-Adresse erinnern; und als E-Mail-Adressen eindeutig sind, müssen sie nie über ihre bevorzugten Benutzernamen sorgen schon wird genommen.

CONS

  1. Wenn das gleiche Passwort für die E-Mail-Konto verwendet wird, beeinträchtigen die eine automatisch bedeutet, das andere zu gefährden.

Als Benutzer von Websites, kann ich Ihnen sagen, dass ich unnötige Benutzernamen auswendig zu lernen hassen. Ich habe keinen eindeutigen Griff oder etwas verwenden, so kann ich nie erinnern, welche Variation meines Namens habe ich das nicht schon gemacht. Ich würde viel lieber meine E-Mail-Adresse eingeben.

Auch Ich mag OpenID.

CON: Nicht jeder hat eine E-Mail-Adresse. Überlegen Sie, ob Sie Ihre Datenbank jemals von einer internen Anwendung zugegriffen wird. Wenn Sie ein Geschäft laufen, Menschen aufrufen und eine Bestellung per Telefon stellen und sich weigern, eine E-Mail-Adresse zur Verfügung zu stellen. Während also eine E-Mail-Adresse, wie die Standard-Benutzer-ID kühl ist, lesen Sie wechselt zu ermöglichen, in das System zu erhalten. (Natürlich ist dies hängt vom Kontext ab.)

Das erfuhr man auf die harte Weise.

Eine Einrichtung, die Sie betrachten wünschen können: Haben beide einen Benutzernamen und eine E-Mail. Die E-Mail wird verwendet, um sich einzuloggen und wird immer privat gehalten wird, wird der Benutzername verwendet, um den Benutzer in einer öffentlichen Interaktion, wie Ihr einen Kommentar zu identifizieren. Es windet sich geringfügig sicherer als die beiden Hälften der Benutzer Login-Daten privat gehalten werden, während, wenn Sie einen Benutzernamen sowohl für Login und öffentliche Identifizierung, die Hälfte der Anmeldung verwenden ist bereits bekannt.

ich auf jeden Fall mit Ihnen einverstanden für die meisten Fälle minimal Registrierung zu haben, aber je nachdem, was du tust du das gegen zusätzliche Sicherheit für die Benutzer balancieren möchten. Vier Felder sind nicht empörend für die Registrierung, (Benutzername, E-Mail, Passwort, Passwort bestätigen), und wenn Sie das Gefühl sind besonders abenteuerlich, man könnte es schneiden drei nach unten durch das Feld Kennwort bestätigen fallen, oder zwei von ihnen ein Passwort per E-Mail dass sie später ändern.

PRO

Menschen mit Hass einen eindeutigen Namen erstellen, die ihre ID paßt, und das hat nicht bereits getroffen worden für eine site..So registriert aus diesem Grunde die Benutzer-ID als E-MAIL-ADRESSE ist so umarmt.

ex : TStamper1930, der eigentlich will 1930 am Ende meines Namen erinnern, dass ich wirklich will,

CON: Wenn ein Hacker zufällige E-Mail-Adressen en masse Registrierung versuchen kann, wird er oder sie, welche diese Adressen gültig, um herauszufinden, in der Lage sind, basierend auf den Anmeldungen fehlschlagen. Dies ist eine Taktik, die verwendet werden kann, um gemeinsam Listen bekannte gültiger E-Mail-Adressen, die eine heiße Ware auf dem Spam-Schwarzmarkt sind.

Obwohl jetzt, wo ich darüber nachdenke, das ist ein Problem, dass jede Website betrifft, die für eine E-Mail-Adresse als Teil des Registrierungsprozesses, unabhängig davon, ob oder nicht, es gibt einen separaten Benutzername fragt. Aber es ist noch etwas zu denken.

CON: Wenn ich meine E-Mail-Adresse ändern, plötzlich alle meine Kontonamen ungültig sind. Mein Name ändert sich nicht, aber meine E-Mail oft der Fall ist. Ich habe gelegentlich eine Website nach einigen Jahren neu aufgelegt und aufgeklebt ... was war meine E-Mail-Adresse vor zwei Jahren ???

Halten Sie sich an E-Mail-Adressen, die sie überall dort zum Einsatz, eigentlich die meisten großen Websites verwenden sie, sie sind einzigartig, so dass sie den Anwender vor zu kämpfen speichern einen Namen zu finden, die nicht von anderen verwendet wird, auch die Benutzer nicht ihre E-Mail-Adressen vergessen (in den meisten Fällen zumindest :)), die im Gegensatz zu Benutzername, die sie auf zu vergessen halten, wenn sie Ihre Website besuchen, nicht sehr oft.

Sie sollten nicht besorgt sein über sie wie alle gängigen Browser zu lang (IE, FF .. etc) bietet die automatische Vervollständigung zu Formen, die standardmäßig aktiviert ist, so dass Sie die ersten Buchstaben in Ihrer E-Mail eingeben und Sie erhalten eine Drop-Down-Liste (dh. die automatische Vervollständigung Liste), wo Sie klicken, um nur die gesamte E-Mail eingeben, persönlich ich fast nie vollständig die E-Mail-Adresse eingeben, tippe ich immer die ersten Buchstaben dann die E-Mail von der Autocomplete Dropdown-Liste auswählen. Übrigens, wenn Sie Benutzern erlauben, in Erinnerung bleiben (ein Remember Me Checkbox und persistente Cookies verwenden), wird es ein weiterer Grund sein, nicht darum zu kümmern.

Ich weiß nicht, über Ihre App aber in der Regel Benutzer mehrere Konten haben ist nicht wünschenswert, in den meisten Anwendungen.

Eine con könnte, dass, wenn es sich um eine E-Mail-Adresse ist kann die Anmeldung versucht von Menschen und Brute-Force-Angriffe zu erraten. Welche nicht wirklich ein großes Problem, da auf den meisten Websites heute die Anmeldungen öffentlich angezeigt werden.

Das größte Pro ist, dass Anmeldungen sind einfacher, diese Art und Weise zu erinnern.

Ein gutes Setup ist Benutzername und E-Mail erforderlich. so dass der Benutzer entweder mit E-Mail-Adresse oder einen Benutzernamen anmelden ist sehr benutzerfreundlich. Ein weiterer Vorteil ist der Benutzer ihre E-Mail-Adresse ändern kann. Es wäre auch mehrere Konten für eine E-Mail ermöglichen.

Um Ihr con Stück der E-Mail zu lang lösen jedes Mal eingeben. Ich habe die StringScan Ruby-Bibliothek implementiert.

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 ..

Dann einfach Anmeldemethode ändern entweder E-Mail zu ermöglichen oder die Login-Passwort übereinstimmen.

Dies funktioniert genauso wie Google oder MobileMe. Ein Benutzer können wählen, nur die E-Mail-Benutzernamen eingeben (dh. Benutzername statt username@gmail.com.)

Wenn Sie kümmern sich nicht um Ihre Benutzer zu zwingen mit Facebook zu Ihrer Anwendung anmelden oder einem anderen sozialen Netzwerk (die meisten Menschen scheinen nicht zu kümmern), dann können Sie nur ihr soziales Netzwerk E-Mail als ‚Benutzer-ID verwenden 'wenn Referenzierung andere Tabellen / Dokumente (MySQL, Mongo, etc).

Ich habe den Bonus mit Social-Media-Logins aufgefallen ist, dass alle Sicherheits Pflege von genommen ist gesagt worden, das soziale Netzwerk, einschließlich nicht erlaubt 2 Benutzer die gleiche E-Mail oder Benutzername in ihrer Datenbank so haben Sie den Aufwand zu sparen mit für all das codieren. Dies ist nur meine persönliche Präferenz.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top