You can access the ProfileModule.MigrateAnonymous event of the System.Web.Profile.ProfileModule class in the Global.asax file for your ASP.NET application by using the Profile_MigrateAnonymous global event, as shown in the example for this topic.
You can use the ProfileModule.MigrateAnonymous event to copy profile property values from an anonymous profile to an authenticated profile when a user who has been anonymously using your application logs in.
When an application that has the user profile enabled is started, ASP.NET creates a new class of type ProfileCommon, which inherits from the System.Web.Profile.ProfileBase class. Strongly typed accessors are added to the ProfileCommon class for each property defined in the profile configuration section. A GetProfile method enables you to retrieve a ProfileCommon object based on a user name. You can use the GetProfile method of the current, authenticated profile to retrieve the property values of the anonymous profile. The anonymous property values can then be copied to the current profile for the authenticated user.