Membership.DeleteUser()
设法删除我要删除的用户的用户配置文件。为什么它不删除它存储在的信息webpages_membership
.
我目前没有使用角色,因此请记住这一点以获取答案。
我进行了测试并验证了这一点SimpleMembershipProvider.DeleteUser http://msdn.microsoft.com/en-us/library/webmatrix.webdata.simplemembershipprovider.deleteuser%28v=vs.111%29.aspx并不像宣传的那样工作。根据文档:
此方法删除会员帐户表中的条目(默认情况下,网页_会员资格). If 删除所有相关数据如果为 true,则用户表中存储的所有用户数据也将被删除。
但在我的测试中我设置删除所有相关数据为 true 并且它只是删除了用户资料表,将条目留在网页会员未受影响。文档或实施中的错误简单会员制.
但我确实找到了解决方法。第一次通话简单的会员提供商。删除帐户 http://msdn.microsoft.com/en-us/library/webmatrix.webdata.simplemembershipprovider.deleteaccount%28v=vs.111%29.aspx。这将删除该条目网页会员桌子。然后打电话SimpleMembershipProvider.DeleteUser删除条目用户资料桌子。这是我用于测试的代码片段。
var roles = (SimpleRoleProvider)Roles.Provider;
var membership = (SimpleMembershipProvider)Membership.Provider;
if (!roles.RoleExists("Admin"))
{
roles.CreateRole("Admin");
}
if (membership.GetUser("test", false) == null)
{
membership.CreateUserAndAccount("test", "test");
}
//Commented this out because you will get a foreign key
//error if you try to delete the user without removing the
//the mapping of the user to a role
//if (!roles.GetRolesForUser("test").Contains("Admin"))
//{
// roles.AddUsersToRoles(new[] { "test" }, new[] { "admin" });
//}
//This will delete the user information from webpages_membership
bool wasDeleted = membership.DeleteAccount("test");
//This will delelet the user information form UserProfile
wasDeleted = membership.DeleteUser("test", true);
正如您从评论中看到的,如果您正在使用角色并且您有映射到该用户的角色,那么这将不起作用。您需要先删除这些用户,然后才能删除用户。我知道这对于 zms6445 来说不是问题,但我想将其提供给使用角色的人。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)