【问题标题】:Database connection not created in IdentityDbContext未在 IdentityDbContext 中创建数据库连接
【发布时间】:2018-01-09 04:31:06
【问题描述】:

我正在尝试使用 Asp.Net Identity 2 对 Asp.Net Core 2 Web API 进行身份验证。这是我的 AuthController 和 databasecontext 代码:

public AuthController(UserManager<ApiUser> userManager, SignInManager<ApiUser> signInManager, RoleManager<ApiRole> roleManager
        , IPasswordHasher<ApiUser> passwordHasher, IConfiguration configurationRoot, ILogger<AuthController> logger)
    {
        _userManager = userManager;
        _signInManager = signInManager;
        _roleManager = roleManager;
        _logger = logger;
        _passwordHasher = passwordHasher;
        _configurationRoot = configurationRoot;
    }

public class SecurityContext : IdentityDbContext<ApiUser, ApiRole, int>
{
    public SecurityContext(DbContextOptions<SecurityContext> options)
        : base(options)
    {
    }
}

在运行时,当我检查 SecurityContext 中的选项时,我可以看到 connectionstring 属性集。但是当我调试_userManager时,没有设置数据库连接。

我也从 Startup.cs 配置了数据库连接:

        services.AddDbContext<SecurityContext>(options =>
 options.UseSqlServer(Configuration.GetConnectionString("SystemDbContext")));

        services.AddIdentity<ApiUser, ApiRole>()
            .AddEntityFrameworkStores<SecurityContext>()
            .AddDefaultTokenProviders();

数据库连接在appsettings.json中设置:

{
  "ConnectionStrings": {
    "SystemDbContext": "Server=xxx;Database=xxxx;user id=sa;password=xxx;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}

执行登录端点时出现的错误是-“用户“域用户帐户”登录失败,而我已将 SQL 连接设置为与“sa”连接。似乎不是属性设置数据上下文的连接字符串。

更新: 在进一步调查中,我发现虽然 DbContextOptions 的 SQLConnectionString 正确,但连接为空。

有人能指出这里缺少什么吗?提前致谢。

【问题讨论】:

    标签: authentication asp.net-identity asp.net-core-2.0


    【解决方案1】:

    您的 ConnectionString 不正确,您需要删除 Trusted_Connection=True 部分。 如下设置appsettings连接字符串,就可以了

    {
      "ConnectionStrings": {
        "SystemDbContext": "Server=xxx;Database=xxxx;user id=sa;password=xxx;MultipleActiveResultSets=true"
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      相关资源
      最近更新 更多