Lors de la conception table utilisateur quel serait le doit avoir des champs du point de vue authentification de sécurité/utilisateur pour une application Web (.NET et SqlServer 2005)Quels sont les champs que la table utilisateur doit contenir du point de vue sécurité/authentification?
Je suis venu avec les champs suivants:
userID
username -- preferably email
passwordHash
onceUsePassword -- to indicate that the password should be changed after login
alternativeContactEmail
userStatusID -- FK to a lookup table with statuses like: active, diabled etc
dateCreated
dateUpdated
lastPasswordUpdate
lastLogon
-- and then the rest like :forename, surname etc which are not of the interest in this question
Ai-je raté quelque chose?
Est-ce que l'identité standard (INT) est suffisante pour userID ou est-ce que le GUID doit être utilisé à la place (l'ID utilisateur ne va pas être exposé n'importe où)?
EDIT:
- Je suis limité à l'utilisation de 1,1 .NET (ne demandez pas ...)
- L'info sel sera fusionné avec PasswordHash
- le compte serait débloqué en envoyant un mot de passe généré par un système temporaire à usage unique à l'adresse e-mail de l'utilisateur (d'où le champ onceUsePassword)
Je suis limité à .net 1.1, et il semble que SQL Membership Provider est à partir de .net 2.0, mais merci de m'avoir indiqué – kristof
À propos du déverrouillage de sel et de compte: Les informations de sel seront fusionnées avec passwordHash et le compte serait débloqué en envoyant un mot de passe généré par un système temporaire et à usage unique à l'adresse e-mail de l'utilisateur (d'où le champ onceUsePassword) – kristof