Donc, j'ai une application Web asp.net (pas de site Web) que j'essaie de prendre en charge les profils pour les utilisateurs anonymes. J'ai un formulaire et je veux que les utilisateurs anonymes puissent entrer leur nom et leur adresse e-mail une seule fois, et avoir cette information automatiquement accessible lors du prochain chargement pour eux.Comment obtenez-vous le jeton d'authentification anonyme asp.net pour la prise en charge du profil?
Dans mon web.config j'ai installé ID anonyme comme ceci:
<anonymousIdentification enabled="true" cookieless="AutoDetect" />
J'ai ma configuration de section de profil comme celui-ci:
<profile defaultProvider="SqlProvider" enabled="true" inherits="QA_Web_Tools.UserProfile">
<providers>
<clear />
<add connectionStringName="QAToolsConnectionString" name="SqlProvider"
type="System.Web.Profile.SqlProfileProvider" />
</providers>
</profile>
Enfin, en raison de mon application étant une application Web et non un site Web, j'utilise les profils via cet objet personnalisé:
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; }
}
}
Ce code est basé de this reference.
Le problème est que ce code ne prend pas en charge les utilisateurs anonymes, ou si c'est le cas, je ne sais pas comment. Je ne peux pas utiliser la méthode GetUserProfile()
sans paramètre car si l'utilisateur est anonyme, Membership.GetUser()
est null. Je pourrais passer le jeton d'identification anonyme dans la première méthode GetUserProfile(string username)
mais je ne peux pas trouver un moyen d'obtenir le jeton d'identification anonyme pour l'utilisateur actuel.
Est-ce que quelqu'un sait comment obtenir cette information? Google ne semble pas retourner des résultats utiles.
Merci,
puis-je vous poser une question, cette option vous donne la possibilité de suivre les utilisateurs anonymes avec la possibilité de prendre cette configuration - par exemple: guid - quand ils s'inscrire enfin dans la plate-forme? brgds –
Je ne suis pas sûr si cela est fait automatiquement, mais j'en doute. Une façon de gérer cela est dans la logique "Créer un compte" vous gardez une trace des informations anonymes précédentes de l'utilisateur, et après l'enregistrement, vous copiez ces données dans leur nouveau compte. – KallDrexx
super, merci pour l'idée! –