远程实例上的SignInManager

时间:2018-04-04 00:31:29

标签: c# asp.net-core-2.0

我创建了一个带有用户身份验证的.net核心2.0应用。工作得很好。 我希望能够连接外部WebAPI和Web Apps的多个实例,以连接到第一个应用程序的集中(单个)实例作为身份验证和授权点。这使我能够为令牌提供单点管理和配置。 AccountController实现:

        [HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                // This doesn't count login failures towards account lockout
                // To enable password failures to trigger account lockout, set lockoutOnFailure: true
                var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
                if (result.Succeeded)
...

这将调用SignInManager,它通过DI提供,在Startup.Configure中创建。 因此,似乎我希望通过DI提供SignInManager的远程实例。是的,我可以简单地将数据库连接字符串指向数据库实例,但这似乎违反了关注点的分离,以及在每个其他实例中创建冗余代码。 那么,这是如何支持的呢? 感谢。

0 个答案:

没有答案