【发布时间】:2014-02-03 21:40:14
【问题描述】:
大家好,我这几天一直在为身份验证问题苦苦挣扎。我在 tomcat7/java7/linux 上开发一个 Web 应用程序,我需要从这个应用程序访问 Windows SSRS 服务器。
当我在我的 Windows 机器上运行代码时,一切正常,身份验证由 Windows 完成,我只使用:
InputStream pdfInStream = new BufferedInputStream(pdfUrl.openStream(), bufferSize);
在 linux 服务器上,我通过 GSS-API javax.security.auth.login.LoginContext 使用 Kerberos,并且能够针对 Kerberos 服务器进行身份验证:LoginContext .login() 工作正常。
现在我被困在这里,Windows authentication in Java 建议使用已弃用的工具,Oracle 文档让我几天都没有找到重点,SPNEGO (http://spnego.sourceforge.net/) 似乎无法解决我的问题。
提前致谢!
参考: 甲骨文文档: docs.oracle.com/javase/7/docs/technotes/guides/security/jgss/tutorials/BasicClientServer.html docs.oracle.com/javase/7/docs/technotes/guides/security/jgss/tutorials/ClientServer.html docs.oracle.com/javase/7/docs/technotes/guides/security/jgss/tutorials/AcnAndAzn.html
来自 apache 的 HTTP 工具:http://hc.apache.org/
【问题讨论】:
-
在 ssrs 中有一个自定义身份验证方案,只有在您控制 ssrs 服务器的情况下,才能为您的项目提供更大的灵活性。如果没有,您可能需要查看 3rd 方库。
-
感谢您的回答,我可以对 SSRS 服务器进行一些控制,我会对其进行调查。但是,如果可能的话,我想使用我公司提供的 kerberos windows 身份验证来代替 NTLM。
标签: java linux reporting-services kerberos