我正在將身份驗證系統應用到現有的數據庫系統中。目前,數據庫有一個「Person」表,其中包含如下內容:名字,姓氏,出生日期,電子郵件(用戶名)等。這是用戶的主表。身份驗證數據庫字段
我需要添加以下字段進行身份驗證:密碼,IsLocked,LockDate,LastLoginDate。
你會建議把這些字段放在Person表中還是放在新的認證表中?我原來的計劃是「人」只是簡單地包含有關該人的數據,而不一定涉及認證。
另一種方法可能是將密碼與電子郵件一起存儲在Person中,但將驗證數據放在單獨的表中。這樣,用戶名和密碼將在同一個地方,但元數據將在它自己的實體。
任何人有任何想法? 感謝您的幫助!
感謝您的回覆。使用這種方法,您將在哪裏存儲電子郵件地址?它在整個應用程序中使用,但也可以用作用戶名。你會將它從Person抽象出來並放到Authentication表中嗎? – user543936
@ user543936 - 由於我上面提到的相同原因,我會將用戶標識與電子郵件地址分開。在默認情況下,使用電子郵件地址作爲用戶ID可能是一個巧合或策略,但如果您引入組登錄或電子郵件分發列表等,將來可能會隨時更改。如果您有一條業務規則說明它們應該是同樣,然後編寫一點應用程序邏輯,在更新自動更新的應用程序邏輯之前進行檢查(只要它們在編輯之前是相同的)。 –