【发布时间】:2015-06-23 08:21:20
【问题描述】:
我正在使用 ASP.Net Membership 提供程序来处理我网站上的用户帐户,并且我已将 DeleteUser() 函数设置为仅从 aspnet_Membership 表中删除数据,因为我想保留用户 ID 和详细信息在 aspnet_Users 中进行审计。
我遇到了一个问题,如果我删除用户“bob”,当有人使用相同的用户名创建新用户时,而不是使用新的 UserId(默认情况下是 GUID)创建新的 aspnet_Users 记录而是将新的 aspnet_Membership 表记录链接到之前创建的“bob”帐户。
这意味着不是创建一个恰好具有相同用户名的新用户,而是重新激活旧用户并将他们的活动历史链接在一起。
有没有办法强制 ASP.Net 成员创建新的 aspnet_users 记录而不是劫持旧记录?
谢谢!
【问题讨论】:
-
如果我是你,我会很想创建一个 guid 并在每个已删除用户的名称后放置相同的 guid(当用户被删除时),这样名称将是唯一的,您可以轻松通过查看他们的名字中是否有魔法 guid 来识别已删除的用户....然后再次删除 bob 一次,然后创建另一个新的 bob,然后将它们删除..您每次都需要一个新的 guid,除非您也可以在名称中添加时间戳之类的内容 - 只是为了使其独一无二......删除时会更改为“Bob++GUIDHERE”等内容
-
我实际上只是试了一下,奇怪的是,即使我在创建新帐户之前更改了旧用户帐户的用户名......它仍然会将新帐户的会员记录链接到旧帐户的 aspnet_users 记录。我怀疑它正在使用 UserId GUID,这很烦人。