实施AspNet核心身份或工作帐户身份验证

时间:2016-07-01 22:46:58

标签: asp.net-mvc azure asp.net-core asp.net-identity openid

这与您可能发现的类似问题不同。我的问题更大了。

情境:

我有3个网站。所有这些都有一个用于身份验证和内容的通用数据库。

问题是我需要扩展到另外2个站点,这意味着在登录屏幕中需要更多维护等等。因此,我将花时间建立一个“中央网站”来管理用户,访问等。

此外,需要为Microsoft Works帐户(即Azure租户)实施OpenId。

DDBB用户模型:(简体)

  • 所有用户都在同一个中央数据库中。哪个不包含 与用户无关的任何事情。

  • 用户在所有应用程序中都是个人用户。

  • 用户可以拥有不同的角色

  • 每个“用户角色”都映射到一个应用程序,一个服务器和一个 数据库中。

问题:

在AspNet Core中创建了一个站点,没有进行任何身份验证,所以我可以自己做,因为我发现Aspnet身份表的映射是不可行的,因为不可操作性和覆盖是复杂的,特别是在与Managers打交道时。

因此,尝试并使用 HttpContext.Authentication.SignInAsync CookieAuthentication 开始使用简单的身份验证页面。哪个效果很好,并且不需要使用任何Identity的实现(与我的后端不兼容)。

但后来我添加了UseOpenIdConnectAuthentication以获得OpenId身份验证,但我不知道如何使用它,因为它在使用Identity时开箱即用,当检查文档时,他们在控制器操作中使用此代码: signInManager.ConfigureExternalAuthenticationProperties ,我没有任何SignInManager,因为我没有使用Aspnet Identity。

问题:

  1. 正在处理ConfigureExternalAuthenticationProperties的来源,使其在我的网站中运行一个可以解决的问题吗?
  2. 我是否应该继续覆盖所有SignInManager方法,还可能实现其他类以使Aspnet Identity与我的模型一起工作?
  3. 尝试将属性映射到我的列只是为了测试它并且它给了我不可调试的错误,我甚至不想考虑将来可能给我的问题。例如,一个错误是它将字节[]解析为字符串。
  4. 如何在同一个AspNet站点中实现Microsoft Work Accounts身份验证和数据库身份验证?
  5. 奖金主题

    最近我觉得编程正在变成配置而不是编码。只有我吗?我们现在是专业配置器吗?

    由于

0 个答案:

没有答案