AspNet Identity UserManager应该完成与用户和角色相关的所有工作吗?

时间:2015-10-24 22:14:35

标签: entity-framework asp.net-identity

主要是AspNet Identity用于身份验证,但它也依赖于非常重要的域实体,如用户,角色等。大多数情况下,业务逻辑还会操纵所有这些域,至少检查用户是否具有该角色,或者甚至可以读取整个用户列表并将其转发到前端。

这将是在Entity Framework中使用AspNet Identity的标准DbContext实现。

public class ApplicationDbContext : IdentityDbContext<User>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }
}

IdentityDbContext提供那些用户,角色和此类DbSet,因此显然您可以像访问其他任何域实体一样访问这些域实体,但它们是只读的。

因此,有两种方法可以访问例如用户和角色,可以通过公开特定方法的UserManager,也可以通过DbContext自行编写DbSet。

问题: 有没有什么可以使用UserManager而不是通过业务逻辑混合DbSets和UserManager?

我期望的一件事是DbSet可能更容易模拟单元测试,因为对于UserManager,你必须模拟UserStore,如果你使用它的大部分功能,甚至更多。

0 个答案:

没有答案
相关问题