我使用ASP.Net会员提供商处理我网站上的用户帐户,并且我已将DeleteUser()函数设置为仅删除aspnet_Membership表中的数据,因为我想要将用户ID和详细信息保存在aspnet_Users中以供审核。
我遇到了一个问题,如果我删除用户" bob",当有人创建具有相同用户名的新用户时,则不会使用新的UserId创建新的aspnet_Users记录(它默认为GUID)它会将新的aspnet_Membership表记录链接到先前创建的" bob"帐户。
这意味着,不是创建恰好具有相同用户名的新用户,而是重新激活旧用户并将他们的活动历史记录链接在一起。
有没有办法强制ASP.Net成员资格创建新的aspnet_users记录而不是劫持旧记录?
谢谢!
答案 0 :(得分:0)
不幸的是,似乎ASP.Net Membership SQL Provider使用用户名作为种子生成用户ID GUID。这意味着在不删除用户的情况下(如果您保留审计历史记录,您不想这样做),则无法创建具有相同用户ID的其他用户。
要解决我的问题,我已完成以下操作:
这将允许我在编写审核查询时检查执行操作的用户是否曾被删除,以及他们是否可能是同一个人。