【问题标题】:Manage Asp.net Identity users/roles inside project with Organization Account auth使用组织帐户身份验证管理项目内的 Asp.net 身份用户/角色
【发布时间】:2015-09-16 20:10:37
【问题描述】:

我用一些 c# 库

构建了一个解决方案
  • 数据模型(db/views/dto):_Dati.Modello
  • 数据访问(访问 db/azure 存储/缓存/身份服务等):_Dati.Accesso
  • 其他库..

还有2个主要项目

  1. WebApp是一个基于Asp.net Identity Auth(注册功能、登录等)的启动项目
  2. 管理应用,组织管理和创建所有内容(由 Webapp 使用和显示)并基于组织帐户身份验证 (Azure Active Directory)

我的问题: 我需要使用 UserManager/RoleManager(_Dati.Accesso.Identity 库)在管理应用程序中管理用户和角色,但当前请求我没有任何 OwinContext,因为在管理应用程序上我没有创建任何 owin启动/configAuth 方法中的管道。

解决问题的最佳方法是什么?我不太熟悉影响身份验证逻辑的问题。 有没有办法按需创建 OWINcontext 并使用它创建用户/角色管理器?或者解决方案是在 Admin 应用程序上创建一个启动/configAuth 方法? ... 或者是其他东西 :)

感谢您的宝贵时间。

【问题讨论】:

    标签: c# asp.net-mvc authentication asp.net-identity owin


    【解决方案1】:

    您不必拥有 Owin 上下文即可管理帐户。

    这应该有效:

     var dbContext=new ApplicationDbContext();// This is your IdentityDbContext
     var userManager=new ApplicationUserManager(new UserStore<ApplicationUser>(dbContext));
    

    您需要对原始项目的引用才能访问 ApplicationDbContext 类,并且您需要正确配置连接字符串,以便您的 dbContext 可以连接到数据库。

    【讨论】:

    • 我是个笨蛋 :) thx。我在数据库 EF 种子方法中使用相同的逻辑来创建管理员帐户/角色等。在第一次部署中。引用没问题,所有访问数据逻辑都在 _Dati.Accesso 库(IdentityDbContext、存储库等)中,并在所有应用程序之间共享。对于角色: var roleManager = new RoleManager(new RoleStore(context));
    猜你喜欢
    • 2018-05-25
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    相关资源
    最近更新 更多