Erstellen einer login-Tabelle in SQL
Mein Ziel ist es, eine Tabelle erstellen, die speichert die Informationen der Benutzer und deren Passwörter. Auch ich möchte zu verfolgen, die Anzahl der fehlgeschlagenen logins. Allerdings ist Hier eine kurze Beschreibung zu den Tabellen:
Ersten: die Tabelle der Benutzer
UserNo: ID des Benutzers
Name: user name
Zweiten: die Tabelle der login
UserNo: ist das gleiche wie das Letzte
Passwort
Drittens: die Tabelle der tracking -
UserNo
DateTime: Datum und Uhrzeit des login -
count: Zähler, der erhöht jedes mal den Benutzernamen falsch.
Aus den letzten drei Tischen, ich glaube nicht, was ich gemacht habe, ist eine professionelle Art und Weise. Gibt es irgendwelche besseren Ideen? vor allem mit der tracking-Tabelle.
Dank
- Ich würde wirklich überlegen, nur indem Sie alle in einer Tabelle. Zurücksetzen fehlgeschlagen Zähler nach erfolgreicher Anmeldung und nur zu halten Spur von Datum und Zeit von den meisten bisherigen, es sei denn, Sie benötigen, um zu halten verfolgen von alle von Ihnen.
- Warum glaubst du, es ist nicht Professionell? Sie können das Passwort in Tabelle 1 und Tabelle 2, erhalten Sie einen Datensatz in der Tabelle 3 werden jedes mal, wenn sich ein Benutzer anmeldet? Wenn nicht, auch diese könnte zusammengefasst werden in der ersten Tabelle, also und verwenden LastSuccessfulLoginDate
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum sind Sie halten Sie zu trennen? Warum nicht einfach eine Tabelle users mit der id, Benutzername, Kennwort-hash, Datum des letzten Logins und fehlgeschlagene versuche-Zähler?
Sonst könnten Sie trennen, login-versuche, um es in den eigenen Tabelle und Datensatz einen status z.B. ERFOLG oder FEHLSCHLAGEN, so kann man prozedural berechnen Sie die Anzahl fehlgeschlagener Anmeldeversuche seit der letzten erfolgreichen ein, und es bietet auch eine vollständige Prüfung des logins, fehlgeschlagene oder nicht.
Könnten Sie Zusammenführen möchten, die ersten beiden Tabellen zusammen, so wie es ist, nur ein Passwort pro Benutzer, so dass es sinnvoll ist, alle Daten für einen Benutzer auf eine Zeile in einer Tabelle.
Dritten Tabelle zeichnet den Zeitstempel jedes login, und könnte auch die Aufzeichnung der Zeitstempel von jedem fehlgeschlagenen login wenn Sie eine zusätzliche Spalte, dann ein quesy geben Ihnen eine Anzahl von insgesamt fehlgeschlagene logins pro Benutzer.
Oder, wenn Sie zählen die Anzahl der fehlgeschlagenen logins seit der letzten Anmeldung, dann könnte man einfach den Zähler in der ersten Tabelle wieder.
Ein paar Punkte:
Gibt es keinen Grund für deine zweite Tabelle, es sei denn, Sie gehen zu halten, eine Passwort-Historie (in diesem Fall benötigen Sie ein zusätzliches Feld zu verfolgen, das Datum, das Kennwort erstellt wurde)
In der Dritten Tabelle, nicht verwenden Sie einen Zähler für die Anzahl der fehlerhaften logins; stattdessen schreiben Sie einen Datensatz für jeden login-Versuch (erfolgreich oder auch sonst), und verwenden Sie eine Abfrage zum abrufen der count, wenn Sie es brauchen.
Können Sie alle Felder in einer einzigen Tabelle
dann können Sie speichern Sie alle Werte in einer einzigen Tabelle