2015-06-23 31 views
0

我使用的是ASP.Net成員資格提供程序來處理我的網站上的用戶帳戶,我已經設置DeleteUser()函數,我只從aspnet_Membership表中刪除數據d喜歡將用戶標識和詳細信息保存在aspnet_Users中進行審計。重新創建已刪除的用戶在ASP.Net會員

我遇到了一個問題,如果我刪除一個用戶「bob」,當某人用相同的用戶名創建一個新用戶時,那麼​​不是用新的UserId創建一個新的aspnet_Users記錄(默認情況下是一個GUID)它會將新的aspnet_Membership表記錄鏈接到先前創建的「bob」帳戶。

這意味着,而不是創造,恰好擁有相同的用戶名新用戶,它重新激活老用戶一起將他們的活動歷史。

有沒有辦法迫使ASP.Net會員創造一個新的紀錄aspnet_users而不是劫持舊的?

謝謝!

+0

如果我是你,我會很想創建一個GUID,並把每刪除用戶名之後的GUID相同(當用戶被刪除),這樣的名稱將是唯一的和u可以輕鬆地識別通過查看已刪除的用戶如果他們有他們的名字中的魔術指導......那麼一旦鮑勃被刪除一次,那麼另一個新的鮑勃被創建,然後他們被刪除..每次你都需要一個新的指導,除非你添加像時間戳的名稱也 - 只是爲了使它獨一無二... sooo刪除更改爲像'鮑勃++的GUIDHERE'等etc –

+0

我其實已經給了一個去,奇怪,即使我改變舊的用戶帳戶在創建新帳戶之前的用戶名...它仍然會將新帳戶的成員資格記錄鏈接到舊帳戶的aspnet_users記錄。我懷疑它的UserId GUID,這是令人不愉快的工作。 – Wibbler

回答

0

不幸的是它似乎是ASP.Net成員SQL提供使用用戶名作爲種子生成用戶ID GUID。這意味着在不刪除用戶的情況下(如果您保留審計歷史記錄,您不希望這樣做),創建具有相同用戶標識的其他用戶沒有乾淨的方式。

要解決我的問題,我也做了以下內容:

  • 允許ASP.Net成員爲它在默認情況下
  • 新增的審計記錄,以我的審計表中的成員記錄分配給asp_user記錄顯式指定用戶已被重新創建

這將讓我寫審計查詢時,執行操作的用戶是否曾經被取出檢查,以及他們是否因此很可能是同一人或不。

相關問題