使用ASP.NET MVC + Active Directory的单点登录流程

时间:2015-06-08 11:17:16

标签: asp.net-mvc authentication windows-authentication claims-based-identity

我正在研究创建一个用ASP.NET MVC构建的单点登录门户。此门户网站上的单一登录应该允许用户选择使用他们的个人帐户(应该根据AD进行验证)或他们的Facebook / Twitter帐户登录。我仍然处在黑暗中的是,如果我提出的应用程序/身份验证流程实际上是可行的。这是它应该如何工作:

用户使用其AD帐户登录SSOP(使用自定义表单输入这些凭据)。 SSOP根据AD验证这些凭证,并相应地将用户登录到SSOP。然后,SSOP为用户提供启动他有权访问的任何应用程序(基于他在AD中的组成员身份)。这些应用程序由各种第三方构建,并非基于.NET。单击SSOP中的这些应用程序之一应使用用于进入SSOP的针对AD进行身份验证的凭据将用户登录到此应用程序中。我目前不知道应该怎么做,例如通过使用声明或某种身份验证令牌?显然,接收应用程序应该支持我们选择的任何选项,这意味着我们正在寻找某种类型的最佳实践。

SSOP的社交登录部分应该按照以下几行工作:用户使用他的社交帐户登录。他第一次这样做,他还必须输入他的AD帐户凭据,以便我们可以将他的社交帐户链接到特定的AD帐户。每次用户使用其社交帐户登录时,SSOP都应该登录链接的AD用户。这样,SSOP始终使用有效的AD帐户对其为用户提供的应用程序进行身份验证。这也使管理用户群变得更容易,因为这些都存储在AD中。社交登录链接和任何其他SSOP特定数据存储在自定义数据存储(MS SQL数据库)中。

我一直在研究ThinkTecture IdentityServer,但尚未弄清楚如何在这种情况下使用它,或者这种情况是否可行。

所以,问题基本上是:这种认证流程是否可能或远程最佳实践?如果是这样,从哪里开始?如果没有,那是什么?

0 个答案:

没有答案