0

客户有一个使用 .net 4.0 和 MVC 的网站。该网站有自己的数据库和身份表。

我们为客户端实现了一个与网站及其数据库完全分离的 Web 应用程序。应用程序数据库保存用户所做的会话信息以及与用户相关的许多其他信息。用户与 Web API 交互以操作数据,这些操作被审核并映射到管理员可以运行报告的会话。当用户通过应用程序本身注册并拥有自己的登录页面时,这一切都可以正常工作,这就是最初实现的方式。

问题是现在客户想要使用网站登录页面进行单点登录。客户端希望从应用程序中删除登录页面,并允许网站的每个当前和未来用户访问 Web 应用程序。

-我目前所知道的

  • 通过网站登录的每个用户都将在应用程序中拥有基本用户角色
  • 生成数据库时将生成具有管理员角色和超级管理员角色的帐户

我的问题是:

是否可以使用两个具有自己身份表的独立数据库来实现单点登录?如果这不是最好的方法,因为应用程序本身根据特定用户角色拥有自己的授权,并且这些用户已在应用程序数据库中扩展。如果可能的话,如果现有用户还没有进入应用程序数据库,那么最好的方法是什么。

任何帮助我指出正确方向的帮助表示赞赏。

谢谢,

4

1 回答 1

0

所以你有3个任务要解决:

  1. 如何将应用程序的现有用户映射到身份提供程序(另一个“主”应用程序)上可用的身份。有必要保存吗?
  2. 如何在应用程序之间实现 SSO(登录)。
  3. 将来如何配置用户。

将现有用户映射到身份提供者上的身份可能非常容易或相当复杂,具体取决于具体情况。您能否根据双方可用的一些常见信息(例如电子邮件地址)唯一地识别用户?您这边的所有用户是否也可以在身份提供方方面使用?

SSO 解决方案可能会有所不同,从原始的共享 cookie 到成熟的 OpenID Connect 服务器。SSO 解决方案是否已经到位?您是否计划在未来连接更多应用程序?

范围或用户配置解决方案也很广泛:从为您的应用程序授予 RO 访问权限到身份提供者的数据库,再到基于消息队列的容错解决方案。

于 2015-11-13T13:06:39.260 回答