如何删除所有登录/会员信息?

时间:2013-06-14 05:31:47

标签: asp.net asp.net-mvc asp.net-mvc-4

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

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

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

1 个答案:

答案 0 :(得分: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);
}

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