2014-06-05 46 views
1

我的數據庫表包含多個加密的密鑰(敏感信息)。這些密鑰通過ID字段與用戶相關聯。在任何時候,我可能需要通過更新其ID字段來使用戶失效,從而使其不再可識別。但是我不想完全刪除數據庫中的行。相反,我想保留它用於審計目的。如何使數據庫行失效並同時保留數據庫以用於審計目的?

是否有一個共同的約定,我可以按照這個或只是附加一個字符串與一些隨機的內容足以使ID字段失效足夠?

E.g

表後無效請求前表無效請求

| ID  | KEY  | 
------------------------ 
| user123 | yiuy321ui | 

| ID     | KEY  | 
-------------------------------------- 
| legacy_79878_user123 | yiuy321ui | 
+3

是否有任何理由不能添加另一個表字段來維護用戶狀態?我認爲使用ID字段來維護狀態可以打破所有的約定。如果是我,我只需要一個簡單的布爾「傳統」標誌,你可以打開和關閉。 – halabuda

+0

是有道理的,謝謝。如果你想補充說,我可以接受這個問題的答案。 – cduggan

回答

2

我會避免動態地使用任何表的任何ID字段。它不僅違背約定和最佳實踐,而且可能會破壞與在該字段上查找/加入的其他表的關聯。我建議在表中添加一個簡單的布爾字段,並將該字段設置爲true或false以保持用戶有效性。

2

更新的用戶ID是不是真的這樣做的一個很好的辦法。你想要的是能夠說'這個用戶不活躍'了,所以在你的用戶表上有一個活動位字段似乎是有意義的。

您可能需要更新您的代碼,以驗證您的用戶是否僅檢查「活動」用戶,但從長遠來看這會更容易(並且還可以更輕鬆地重新啓用用戶,如果您需要)。

相關問題