2010-04-22 5 views
0

Nous utilisons le sous-système de profil ASP.NET pour associer des paires clé-valeur d'informations aux utilisateurs.Suppression de profil ASP.NET

Je suis implémentant des fonctionnalités pour la suppression des utilisateurs.

J'ai utilisé la méthode ProfileManager.DeleteProfile(string userName), mais j'ai remarqué que cela laisse une ligne dans la table aspnet_Users dans la base de données aspnetdb que nous utilisons pour stocker les informations de profil.

De toute évidence, je pourrais manipuler la base de données directement, mais je suis réticent à le faire.

Quelle est la meilleure façon de s'assurer que toutes les informations associées à un utilisateur sont supprimées du aspnetdb? PS: il existe une méthode alléchante Membership.DeleteUser(string userName, bool deleteEverything), mais cela renvoie une erreur de connexion à la base de données. Un problème web.config?

Répondre

0

Ajouter une section d'adhésion à web.config, lié à une chaîne de connexion contenant les informations d'identification valides (ici: "SqlServices"):

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20"> 
     <providers> 
     <remove name="AspNetSqlProvider" /> 
     <add name="SqlProvider" 
      type="System.Web.Security.SqlMembershipProvider" 
      connectionStringName="SqlServices" 
      enablePasswordRetrieval="false" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="true" 
      passwordFormat="Hashed" 
      applicationName="/" /> 
     </providers> 
    </membership> 

Assurez-vous de la table aspnet_SchemaVersions dans la base de données aspnetdb contient la ligne:

membership 1 true 

Vous pouvez ensuite utiliser l'API d'adhésion (Membership.DeleteUser).

Questions connexes