有一个 asp.net mvc 4 网站。用户希望从头开始重新启动 Web 应用程序。清除所有登录/会员信息的最佳方法是什么。只用Sql server management studio 删除所有表中的记录?(webpages_* 和 UserProfile)?
表中有一个添加的列,UserProfile
它引用用户定义的表。
或者也许只是使用 SSMS 删除整个数据库?还是删除数据库中的所有表(包括__MigrationHistory)?
有一个 asp.net mvc 4 网站。用户希望从头开始重新启动 Web 应用程序。清除所有登录/会员信息的最佳方法是什么。只用Sql server management studio 删除所有表中的记录?(webpages_* 和 UserProfile)?
表中有一个添加的列,UserProfile
它引用用户定义的表。
或者也许只是使用 SSMS 删除整个数据库?还是删除数据库中的所有表(包括__MigrationHistory)?
在用于处理用户的控制器中,您可以创建一个操作方法来删除用户。在此示例中,将删除当前用户,包括所有相关数据。
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);
}
请注意,您需要为此添加更多安全性,以检查调用此方法的用户是否确实有权执行此操作……但这是有关如何删除用户的基础知识。