用于多个项目的单个aspcore标识实例

时间:2018-03-12 14:20:08

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

我目前正在与客户合作,并负责为同一客户创建第二个应用。该应用程序将基于Web(asp.net核心),因为我已经使用带有Identity框架的asp.net MVC(带有一些扩展的Boiler板)为他们完成了一个应用程序,我希望这个新的应用程序在核心中也使用它身份实例,因为一些用户将访问这两个应用程序。我知道这是在那里,但我没有找到任何答案或教程如何实现这一目标?任何帮助是极大的赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用相同的Identity数据库来处理身份验证和授权。

ApplicationId表添加AspNetUsers字段,派生自UserStore并重新实施基于查找的方法,以便查询考虑ApplicationId

在这种情况下,每个新应用程序都会有新的applicationId。

此外,您可以分离Identity数据库,因此您可以解除授权过程,从而可以隔离应用程序依赖关系,将来可以轻松添加新应用程序并根据需要进行扩展。

然后,您可以使用承载令牌和Web API。用户登录后,您将通过username& ApplicationId对于用户请求访问的应用程序,如果授权,您的安全服务将返回持有者令牌,否则返回401错误。