我正在使用 SimpleMembership 处理用户帐户和基于角色的身份验证的 MVC4 站点。我们有另一个站点,我们想实现一个单点登录系统,允许现有站点的用户登录到我正在构建的站点。实现这一目标的最佳方法是什么,并希望利用我在 MVC4 站点上使用的现有基于角色的授权。是否可以有多个会员提供者(即使用内置的,如果找不到用户,请尝试通过我将编写的自定义提供者进行身份验证(一旦我弄清楚如何!)。或者会更好放弃内置的会员/角色并自己动手?
我还想过让 WebSecurity 检查本地数据库,如果找不到用户,则查询第二个数据库,如果用户凭据有效,则为他们创建一个本地帐户。这种方法的一个问题是,如果名为 Fred 的用户在 MVC 站点上注册,然后来自另一个站点的名为 Fred 的用户登录,我们无法为他们创建具有相同用户名的本地帐户。我们可以在用户名前加上一些文本来表示他们来自其他站点,但这样我们就失去了单点登录功能。
将来我们还希望为员工集成 AD 身份验证。
所以本质上我正在寻找对来自多个数据库的用户进行身份验证并继续使用基于角色的身份验证的最佳方法?
我还做了一些挖掘,想知道 ADFS 是否对此有用。
任何帮助或建议将不胜感激!