Asp.net mvc 使用Thinktecture IdentityServer的联合安全性

Asp.net mvc 使用Thinktecture IdentityServer的联合安全性,asp.net-mvc,single-sign-on,claims-based-identity,federated-identity,thinktecture-ident-server,Asp.net Mvc,Single Sign On,Claims Based Identity,Federated Identity,Thinktecture Ident Server,我有几个mvc应用程序仍在开发中,并使用带有SimpleMembership的表单来注册和验证用户,这些应用程序使用相同的数据库,我的UserProfile表中到处都有外键,这些外键来自简单的成员身份。最近我决定尝试使用联邦安全性,只是为了获得SSO,而不必重新发明轮子,但有几件事我感到困惑 我应该将Identity Server设置为使用与我的应用程序相同的数据库吗? (然后我可以将userID放在声明或其他内容中,这样我就知道如何从其他表中为该用户获取信息,对吗?) 使用联邦安全性时,普通表

我有几个mvc应用程序仍在开发中,并使用带有SimpleMembership的表单来注册和验证用户,这些应用程序使用相同的数据库,我的UserProfile表中到处都有外键,这些外键来自简单的成员身份。最近我决定尝试使用联邦安全性,只是为了获得SSO,而不必重新发明轮子,但有几件事我感到困惑


我应该将Identity Server设置为使用与我的应用程序相同的数据库吗? (然后我可以将userID放在声明或其他内容中,这样我就知道如何从其他表中为该用户获取信息,对吗?)

使用联邦安全性时,普通表单注册是如何完成的? (我认为可以在任何应用程序中进行注册,在Identity server使用的表中插入行,或者将STS调整为用户简单的成员资格表以进行身份验证,对吗?)

是否可以对每个RP(mvc应用程序)的用户进行身份验证,并且仍然可以在不将用户重定向到STS的情况下获得SSO?(通过internat HTTP请求)


STS失败时会发生什么?用户是否无法登录到任何应用程序?有什么解决方案吗?

我应该设置Identity Server以使用与我的应用程序相同的数据库吗?

如果你想,你可以

使用联邦安全性时,普通表单注册是如何完成的?

这取决于您,并且(目前)在IdentityServer领域之外

是否可以对每个RP(mvc应用程序)的用户进行身份验证,并且仍然可以在不将用户重定向到STS的情况下获得SSO?

不完全是这样——通过浏览器进行SSO完全是为了重定向回IdP,因为用户是通过浏览器登录到IdP的。只有当IdP确信用户的身份时,才会向RP发出令牌

STS失败时会发生什么?用户是否无法登录到任何应用程序?有什么解决办法吗?


STS是您企业的重要组成部分,因此您希望尽一切努力确保其正常运行。

谢谢您的回答,缺少示例是一件非常痛苦的事情,您似乎知道这件事,因为这是跨域的,是每个域都需要SSL证书,还是仅针对STS?所有站点都需要SSL。我的意思是——当然,只有在您关心在线数据保护的情况下;)@至少特权很糟糕,但是哦,好吧。那么,在RP上使用带有用户名/PW的表单和用于web身份登录的按钮并将POST表单重定向到STS是否安全?我想让用户更容易登录?@Unavailable您可以动态配置homeRealm,告诉fp您的用户在UI中选择了什么。这样,用户看到他们的提供商并不知道他们第一次去fp。