我创建了一个带有用户身份验证的.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的远程实例。是的,我可以简单地将数据库连接字符串指向数据库实例,但这似乎违反了关注点的分离,以及在每个其他实例中创建冗余代码。 那么,这是如何支持的呢? 感谢。