繁体   English   中英

跨多个域的多个应用程序(Web 和 Silverlight)之间的 SSO

[英]SSO between multiple applications (web and silverlight) across multiple domain

这是我的情况,

i've got a couple applications: - web site using .net cms running externally on a webhost without an active directory domain (authentication based on forms authentication with the cms database) - several silverlight applications running internally in the customers network and domain (authentication through活动目录,映射到数据库中的用户表,应用程序当前未对外发布)

假设我希望所有这些应用程序能够对用户进行身份验证,而不是他们自己的数据库,而是一个集中的数据库。 (并非所有应用程序都在不同的网络中运行,映射到本地用户帐户是可以接受的,因为应用程序可能存储用户角色等。)在用户上,我想存储它属于哪个客户,如果它有权使用该应用程序以及更多个人信息

请注意,这也必须适用于 windows forms / wcf 应用程序,因此 Z55E7DD3016CE2AC57B9A0F562 不是选项。

最好的方法是什么?

我考虑过使用存储所有信息的数据库设置已发布的 soap 服务,然后为每个应用程序编写一些逻辑来使用此 Web 服务进行身份验证。 然而,我并不热衷于通过任何人都可以访问的网络服务发布所有这些信息。 如果我在域上使用基本身份验证保护此 Web 服务,则凭据将在干净测试中发送,这在涉及私人用户信息时不是一个选项。

有谁知道如何解决这个问题?

您可以使用基于联合协议(如 SAML 或 WS-Federation)的 web sso。
在您的情况下,最明显的解决方案是基于 Active Directory 联合服务

您设置基于 ADFS 的中央身份验证服务器,并在每个 web 服务器上部署 ADFS 代理。
当用户尝试访问其中一个应用程序时,他将被重定向到中央身份验证服务器。 该服务器将负责对他进行身份验证,可能会进行一些访问控制验证并将安全令牌发送回您的应用程序。
所有这些电影不依赖于 cookies,而是通过用户的浏览器通过 POST/GET 方法交换数据。
需要注意的另一点是它与 Windows 身份基础 (WIF) 框架很好地集成,因此 Windows 表单/WCF 应用程序应该没有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM