2012-11-23 165 views
0

交互这是可能的,或者我会完全错误?与ADFS,蔚蓝ACS

考虑我们有这种情况: 一个网站(web1)托管在一台服务器上,另一个托管在不同服务器上(可以说是web2)。这两个应用程序都有登录/注册。 现在我想允许用户从web2访问web1。例如,像这样,在web2上注册的用户转到web1站点,并尝试使用用户名“web2/username”和密码“somePassword”进行登录。现在我的web1应用程序需要检查该用户是否存在于web2用户列表中。

现在我设法使用Azure ACS(使用Google/live帐户登录),但我不想使用ACS。我想要的是我的应用程序与web2 ADFS交互(即时消息不知道这是否可能,或者即使ADFS可以以这种方式使用),并找出试图登录web1的用户是否实际上在web2上注册。

+0

我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

+0

谢谢,并为此感到遗憾 – jasheem

回答

1

是的,这是可能的。这是基本的“单点登录”方案。这两个网站都将依靠“STS”来验证用户身份。 ADFS和ACS是“STS”的例子。

STS通常是一个独立的实体。它不属于web1或web2。在网站上使用的库(假设基于.NET的应用程序)是WIF(Windows身份基础),它将处理所有身份验证请求和令牌解析。

您可以使用ADFS,但您的所有用户都必须对Active Directory进行身份验证。

我建议你阅读this introduction和这个chapter on SSO

+0

但我可以检查用户是否存在?而不是将它们发送到他们的登录页面进行身份验证? – jasheem

+0

或仅从代码验证该用户,例如。他提供了他的用户名和密码,并且我没有提示ADFS登录页面对他进行身份验证。 – jasheem

+0

我试着用这里的示例代码 http://leandrob.com/2012/04/requesting-a-token-from-adfs-2-0-using-ws-trust-with-username-and-password/ 现在我得到这个错误:“ID3082:请求范围无效或不支持”。问题:配置ADFS时,是否需要在两台服务器上配置它?或者我可以将它配置在一台服务器上,而另一台服务器则只需从c#(例如来自该链接的代码)与它进行交互。如果是的话,我怎么配置它? – jasheem