0

我们公司购买了 GSA (GSA 6.8.0.G.30),我们正在尝试将搜索集成到我们的门户(一个 ASP.NET)应用程序中。GSA 上已经配置了 Kerberos,我可以使用 IE 通过 default_frontend 进行安全搜索,并且无需通过登录表单即可返回安全结果。

但是,当我们尝试集成搜索到我们的 Portal 时,我们遇到了一些挑战,从我们的 ASP.NET 代码中,我们可以获取用户的 WindowsIdentity并创建一个WindowsImpersonationContext,然后我们使用 HttpWebRequest 对象提交搜索,GSA 第一个响应为 302 , 和一个传输 URL “ https://my_gsa_hostname/security-manager/ samlauthn?SAMLRequest=fZLLTsM...”,然后我们创建一个新的请求指向新的 URL,GSA 返回 401-unauthorized。

任何人都可以为我们点亮一盏灯?

4

1 回答 1

1

默认情况下,WindowsIdentity 和 WindowsImpersonationContext 不能委托。您需要设置信任委托。您的请求是匿名发送给 GSA 的。不久前,我写了一篇关于如何编写一些 .NET 代码与设备握手的博客文章。你可以在这里阅读:

http://www.mcplusa.com/blog/2009/06/remotely-calling-the-google-search-appliance-restful-web-services-when-saml-is-enabled/

关键是让您的网站通过 kerberos 对您的用户进行身份验证,因为 NTLM 不可委托。所以..kerberos 到 GSA 的网站。

在 Universal Login Manager 之前,我们使用 Windows Saml Bridge 进行静默身份验证。有一个很棒的文档描述了设置 kerberos

http://code.google.com/p/google-saml-bridge-for-windows/wiki/ConfigKerberos

于 2011-06-19T23:19:53.660 回答