1

有一个 asp.net mvc 4 网站。用户希望从头开始重新启动 Web 应用程序。清除所有登录/会员信息的最佳方法是什么。只用Sql server management studio 删除所有表中的记录?(webpages_* 和 UserProfile)?

表中有一个添加的列,UserProfile它引用用户定义的表。

或者也许只是使用 SSMS 删除整个数据库?还是删除数据库中的所有表(包括__MigrationHistory)?

4

1 回答 1

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);
}

请注意,您需要为此添加更多安全性,以检查调用此方法的用户是否确实有权执行此操作……但这是有关如何删除用户的基础知识。

于 2013-06-14T08:01:03.587 回答