2013-06-14 6 views
1

Существует веб-сайт asp.net mvc 4. Пользователи хотят перезапустить веб-приложение с нуля. Каков наилучший способ удалить всю информацию о входе/членстве. Просто используйте студию управления сервером Sql для удаления записей во всех таблицах? (webpages_ * и UserProfile)?Как удалить всю информацию о регистрации/членстве?

В таблице есть добавленный столбец, который относится к определенной пользователем таблице.

Или, может быть, просто отбросить всю базу данных с помощью SSMS? Или удалить все таблицы (включая __MigrationHistory) в базе данных?

+0

Вы используете запутанные термины. Вы хотите удалить все зарегистрированные учетные записи пользователей из SqlMembershipProvider? – CodeCaster

+0

@CodeCaster yes – ca9163d9

+0

Затем взгляните на ['SqlMembershipProvider.DeleteUser'] (http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.deleteuser.aspx). – CodeCaster

ответ

2

В контроллере, который используется для обработки пользователей, вы можете создать метод действия для удаления пользователя. В этом примере текущий пользователь будет удален, включая все связанные данные.

public ActionResult DeleteMe() 
{ 
    Membership.DeleteUser(User.Identity.Name, deleteAllRelatedData: true); 
    FormsAuthentication.SignOut(); 
    return RedirectToAction("Login", "Account"); 
} 

Для вызова метода действия выше просто добавьте следующий код в представлении для отображения кнопки ...

@using (Html.BeginForm("DeleteMe","Account")) 
{ 
    @Html.AntiForgeryToken() 
    @Html.ValidationSummary() 
    <fieldset> 
     <input type="submit" value="Delete my account" /> 
    </fieldset> 
} 

... или это, если вы хотите, чтобы отобразить ссылку.

@Html.ActionLink("Delete my account", "DeleteMe", "Account") 

Если вы хотите, чтобы функция удаления другого пользователя, а не сами вы можете изменить метод действия выше, и сделать что-то вроде этого:

public ActionResult DeleteUser(string userName) 
{ 
    Membership.DeleteUser(userName, deleteAllRelatedData: true); 
} 

Заметьте, что вам нужно добавить немного больше безопасности к этому, чтобы проверить, что пользователь, вызывающий этот метод, на самом деле имеет право сделать это ... но это основные сведения о том, как удалить пользователя.

Смежные вопросы