Удаление профиля ASP.NET - PullRequest
       8

Удаление профиля ASP.NET

0 голосов
/ 22 апреля 2010

Мы используем подсистему профилей ASP.NET для связи пар данных ключ-значение с пользователями.

Я реализую функциональность для удаления пользователей.

Я использовал метод ProfileManager.DeleteProfile(string userName), но заметил, что это оставляет строку в таблице aspnet_Users в базе данных aspnetdb, которую мы используем для хранения информации профиля.

Ясно, что я мог бы напрямую манипулировать базой данных, но я не хотел бы этого делать.

Каков наилучший способ обеспечить удаление всей информации, связанной с пользователем, из aspnetdb?

PS: существует дразнящий метод Membership.DeleteUser(string userName, bool deleteEverything), но он возвращает ошибку соединения с базой данных. Вопрос web.config?

1 Ответ

0 голосов
/ 22 апреля 2010

Добавить раздел членства в 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>

Убедитесь, что таблица aspnet_SchemaVersions в базе данных aspnetdb содержит строку:

membership 1 true

Затем вы можете использовать api членства (Membership.DeleteUser).

...