繁体   English   中英

如何在ASP.NET MVC4 SimpleMembership中删除具有角色的用户?

[英]How do I delete a user with a role in ASP.NET MVC4 SimpleMembership?

谢谢你的期待。

背景

在我当前的项目中,客户希望我使用ASP.NET MVC4的Simple成员资格。 通常我不使用.NET成员资格类,所以也许我错过了一些简单的东西,但我似乎无法通过代码删除用户,因为webpages_UsersInRoles表和UserProfile表之间存在外键约束。

我尝试过使用Membership.DeleteUser(id, true); 因为'true'的设置应该级联删除,但如果有分配给用户的角色,即使失败也是如此。

我尝试通过服务器资源管理器进入mdb文件,并将FK上的删除操作设置为CASCADE但禁用了删除操作选项。

作为最后的努力,我从成员资格数据库中创建了一个单独的实体类(.edmx),希望我可以通过C#成功删除,但是.edmx的生成拒绝引入webpages_UsersInRoles表!

我使用的是C#,.NET 4.5。

使用C#。 如果为该用户分配了一个或多个角色,如何从MVC4 SimpleMembership中删除用户?

我很快就找不到为什么在UserInRoles表中似乎没有关于删除用户被删除时的删除级联规则,但是这个答案可能有助于:

void DeleteUserRoles(string username)
{
    foreach (var role in Roles.GetRolesForUser(username))
        Roles.RemoveUserFromRole(username, role);            
}

另外使用RemoveUserFromRoles(复数)

void DeleteUserRoles(string username)
{
    Roles.RemoveUserFromRoles(username, Roles.GetRolesForUser(username));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM