匿名和经过身份验证的配置文件可以在ASP.NET中共存吗?

时间:2009-12-13 01:14:26

标签: asp.net-membership asp.net-profiles

我正在试图确定事件Profile_MigrateAnonymous何时触发。

我最好的猜测只是跟踪我的代码是它在检测到一个匿名成员资格cookie和一个经过身份验证的成员资格cookie时触发。谁能证实这一点?我在这里寻找真正的深度答案。不只是在用户登录时调用它。

现在 - 我为什么要关心?

我试图在用户进行身份验证后保持匿名配置文件,这样一旦他们注销,我仍然可以告诉他们是谁,以及可能已设置的某些设置。

我看到的问题是,每个请求都会触发Profile_MigrateAnonymous。不仅仅是当用户登录时。这让我觉得保持匿名cookie不变是一种不好的做法 - 而且我应该总是打电话给ClearAnonymousIdentifier();

例如,我有一家新店和一家旧店。我希望能够访问“新商店”的用户永远不会被放回旧商店。显然 - 与大多数购物车一样,您无需开始会话即可。因此,我认为唯一的方法是按照设计调用'ClearAnonymousIdentifier',但保留一个辅助cookie'UseNewStore'来跟踪他们应该去哪个商店。

这是一个很好的解释。或者我应该不关心是否一直在调用Profile_MigrateAnonymous?

1 个答案:

答案 0 :(得分:0)

不要理会它。有一种更简单的方法

在登录期间迁移配置文件属性

http://msdn.microsoft.com/en-us/library/taab950e.aspx