0

我们使用 ASP.NET 配置文件子系统将信息的键值对与用户相关联。

我正在实现删除用户的功能。

我一直在使用该ProfileManager.DeleteProfile(string userName)方法,但我注意到这会在aspnetdb我们用于存储配置文件信息的数据库的 aspnet_Users 表中留下一行。

显然,我可以直接操作数据库,但我不愿意这样做。

确保从 中删除与用户相关的所有信息的最佳方法是aspnetdb什么?

PS:有一个诱人的Membership.DeleteUser(string userName, bool deleteEverything)方法,但这会返回一个数据库连接错误。web.config 问题?

4

1 回答 1

0

将成员资格部分添加到 web.config,链接到包含有效凭据的连接字符串(此处:“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>

确保 aspnetdb 数据库中的 aspnet_SchemaVersions 表包含以下行:

membership 1 true

然后,您可以使用会员 api (Membership.DeleteUser)。

于 2010-04-22T11:07:29.363 回答