我已经在Asp.Net Identity框架内成功创建了自定义用户和角色,但缺少的一个部分是对角色'角色的支持。用户内的集合。我添加了一个合乎逻辑的“删除”#39;在UserRole中标记并且我希望在EF从数据库中检索信息时包含它,但它所做的只是检索所有内容(这不是我想要的)。塞纳里奥:
我想要发生的是在登录时(主要使用默认函数并覆盖各个部分),当EF检索它应该知道的数据时,要排除任何标记为已删除的行,但是我无法找到任何方法。这样做。由于所有样板代码都被锁定,我无法轻易查看发生的情况或找到任何逻辑位置来覆盖此功能。
任何人都可以帮忙吗?
答案 0 :(得分:0)
您可以在登录后扫描角色,并使用与此类似的代码删除它们:
var roles = UserManager.GetRoles(userId);
foreach (var roleName in roles)
{
var role = RoleManager.FindByName(roleName);
if (role.IsDeleted) UserManager.RemoveFromRole(userId, roleName);
}