2015-06-23 29 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记录显式指定用户已被重新创建

这将让我写审计查询时,执行操作的用户是否曾经被取出检查,以及他们是否因此很可能是同一人或不。

相关问题