2009-05-18 7 views

Répondre

2

Vous devez vérifier s'il n'y a pas d'utilisateur actuel, puis créer automatiquement un nouveau compte utilisateur et les enregistrer dans les coulisses. Si vous utilisez des cookies (et en supposant que l'utilisateur les a activés), les visites suivantes de cet «utilisateur anonyme» seront toujours mappées sur le même compte dans votre référentiel d'utilisateurs, ce qui est utile pour suivre l'activité.

Vous pouvez mettre automatiquement les utilisateurs dans des groupes "enregistrés" et "automatiques/anonymes". Cela permet à votre code de discerner comment se comporter, par exemple, en décidant d'afficher les liens "Connexion" ou "Mon compte" en indiquant si l'utilisateur actuel est membre du groupe "anonyme". Il facilite également la migration d'un historique d'activité vers un compte enregistré si/quand l'utilisateur décide de le faire.

+1

Voulez-vous dire que l'utilisateur anonyme ici est différent du «visiteur» qui vient de parcourir? (c'est-à-dire comme un débordement de pile non enregistré) Ou voulez-vous dire que toute personne visitant le site devrait être connectée derrière la scène? n'est-ce pas trop? – zsharp

+0

@zsharp Toute personne visitant le site doit être connectée en coulisse. Cela peut sembler beaucoup au début, mais cela simplifie en fait les choses car tous les utilisateurs sont traités de la même manière - en tant qu'utilisateur connecté. La seule différence est le mécanisme de connexion, qui peut être résumé en deux fournisseurs - un nom d'utilisateur/mot de passe et un login automatique et invisible. –

+0

une autre chose, devrais-je créer un nouveau membre et affecter un nouvel ID ou réutiliser un compte 'invité'? si le premier, aurais-je besoin de nettoyer périodiquement la base de données des utilisateurs anonymes? – zsharp

4

Dans l'adhésion ASP.NET, vous pouvez appeler la fonction suivante pour vérifier si oui ou non un utilisateur est connecté/authentifié/anonyme ou non ...

User.Identity.IsAuthenticated() 
0

Si vous êtes sur une page, le User.Identity.IsAuthenticated() La propriété vous donnera une valeur booléenne. Si vous n'êtes pas sur une page (c'est-à-dire que vous voulez enregistrer une méthode de classe), vous devez importer l'espace de noms System.Web.HttpContext.

+0

Ai-je vraiment été rejeté pour cela? vraiment? – Jason

Questions connexes