У меня есть веб-приложение asp.net (не веб-сайт), которое я пытаюсь поддерживать профили для анонимных пользователей. У меня есть форма, и я хочу, чтобы анонимные пользователи могли вводить свое имя и адрес электронной почты только один раз и иметь эту информацию, автоматически доступную для следующей загрузки для них.Как вы получаете анонимный токен аутентификации asp.net для поддержки профиля?
В моей Web.config я имею анонимную установку ID как так:
<anonymousIdentification enabled="true" cookieless="AutoDetect" />
У меня есть профиль раздела установка, как это:
<profile defaultProvider="SqlProvider" enabled="true" inherits="QA_Web_Tools.UserProfile">
<providers>
<clear />
<add connectionStringName="QAToolsConnectionString" name="SqlProvider"
type="System.Web.Profile.SqlProfileProvider" />
</providers>
</profile>
Наконец, из-за мое приложение является веб-приложение а не веб-сайт, я использую профили через этот пользовательский объект:
public class UserProfile : ProfileBase
{
public static UserProfile GetUserProfile(string username)
{
return Create(username) as UserProfile;
}
public static UserProfile GetUserProfile()
{
return Create(Membership.GetUser().UserName) as UserProfile;
}
[SettingsAllowAnonymous(true)]
public string FullName
{
get { return base["FullName"] as string; }
set { base["FullName"] = value; }
}
[SettingsAllowAnonymous(true)]
public string BuildEmail
{
get { return base["BuildEmail"] as string; }
set { base["BuildEvmail"] = value; }
}
}
Этот код основан на this reference.
Проблема в том, что этот код не поддерживает анонимных пользователей, или, если это так, я не знаю, как это сделать. Я не могу использовать метод GetUserProfile()
без параметров, потому что если пользователь является анонимным, Membership.GetUser()
имеет значение NULL. Я могу передать анонимный токен ID в первый метод GetUserProfile(string username)
, но я не могу найти способ получить анонимный токен идентификатора для текущего пользователя.
Кто-нибудь знает, как получить эту информацию? Google, похоже, не возвращает полезные результаты.
Thanks,
Могу ли я задать вам вопрос, этот параметр дает возможность отслеживать анонимных пользователей с возможностью использовать эту конфигурацию - например: guid - когда они окончательно регистрируются на платформе? brgds –
Я действительно не уверен, что это делается автоматически, но я сомневаюсь. Один из способов справиться с этим - в логике «Создать учетную запись» вы отслеживаете предыдущую анонимную информацию пользователя, а после регистрации вы копируете эти данные в свою новую учетную запись. – KallDrexx
отлично, спасибо за идею! –