在ASP.Net成员身份中重新创建已删除的用户

时间:2015-06-23 08:21:20

标签: c# asp.net .net vb.net

我使用ASP.Net会员提供商处理我网站上的用户帐户,并且我已将DeleteUser()函数设置为仅删除aspnet_Membership表中的数据,因为我想要将用户ID和详细信息保存在aspnet_Users中以供审核。

我遇到了一个问题,如果我删除用户" bob",当有人创建具有相同用户名的新用户时,则不会使用新的UserId创建新的aspnet_Users记录(它默认为GUID)它会将新的aspnet_Membership表记录链接到先前创建的" bob"帐户。

这意味着,不是创建恰好具有相同用户名的新用户,而是重新激活旧用户并将他们的活动历史记录链接在一起。

有没有办法强制ASP.Net成员资格创建新的aspnet_users记录而不是劫持旧记录?

谢谢!

1 个答案:

答案 0 :(得分:0)

不幸的是,似乎ASP.Net Membership SQL Provider使用用户名作为种子生成用户ID GUID。这意味着在不删除用户的情况下(如果您保留审计历史记录,您不想这样做),则无法创建具有相同用户ID的其他用户。

要解决我的问题,我已完成以下操作:

  • 允许ASP.Net Membership为默认情况下的asp_user记录分配成员资格记录
  • 在审核表中添加了审核记录,明确指定已重新创建用户

这将允许我在编写审核查询时检查执行操作的用户是否曾被删除,以及他们是否可能是同一个人。