【问题标题】:Multiple UserManagers多个用户管理器
【发布时间】:2016-10-18 23:37:50
【问题描述】:

我正在尝试拥有两个不同的 UserManagers

app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);

app.CreatePerOwinContext<CustomUserManager>(CustomUserManager.Create);
app.CreatePerOwinContext<CustomRoleManager>(CustomRoleManager.Create);

ApplicationUserCustomUser 都继承 IdentityUser

如何配置 OnModelCreating 以正确支持 Roles/Claims/Logins

我做的事情会被认为是不好的做法吗?我只想将这两种类型的用户完全分开。我不想要 TPH,因为我需要不同的必需属性。

更新

为了进一步解释为什么我认为我需要这个,是因为我希望这两种类型有不同的角色属性用户。如果他们共享同一个表,我需要一个可选的一对一关系来添加属性,允许相同的用户名,谁知道还有什么。

【问题讨论】:

  • 您能否更具体一点,为什么需要多个 UserManager?
  • 我编辑了我的问题。我希望现在更清楚了。
  • 你有没有here?也许您可以请其他人帮助您。
  • 没问题。我也很想知道您的问题的正确解决方案。

标签: entity-framework asp.net-identity


【解决方案1】:

我制作了两个自定义 UserManager(例如,CustomUserManager : UserManager&lt;CustomUser&gt;),其中 CustomUser 继承自 IdentityUser 并指定为 Table每个类型在类上使用[Table("CustomUser")]

上下文需要是 IdentityDbContext,或具有相同 DbModelBuilder 设置的 DbContext

如果需要,角色也一样(例如,CustomRoleManager : RoleManager&lt;CustomRole&gt;),它们将是每个层次结构的表。尽管除非您修改 Authorize 属性并添加 Claim 以匹配 Discriminator 和角色的 ,否则这并没有多大用处姓名

【讨论】:

    猜你喜欢
    • 2010-09-10
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    相关资源
    最近更新 更多