linux上Java程序中使用Kerberos的Windows服务身份验证
大家好,几天来我一直在努力解决身份验证问题。我在tomcat7/java7/linux上开发一个web应用程序,需要从该应用程序访问Windows SSRS服务器 当我在我的windows计算机上运行代码时,一切正常,身份验证由windows完成,我只使用:linux上Java程序中使用Kerberos的Windows服务身份验证,java,linux,reporting-services,kerberos,Java,Linux,Reporting Services,Kerberos,大家好,几天来我一直在努力解决身份验证问题。我在tomcat7/java7/linux上开发一个web应用程序,需要从该应用程序访问Windows SSRS服务器 当我在我的windows计算机上运行代码时,一切正常,身份验证由windows完成,我只使用: InputStream pdfInStream = new BufferedInputStream(pdfUrl.openStream(), bufferSize); 在linux服务器上,我通过GSS-API javax.securit
InputStream pdfInStream = new BufferedInputStream(pdfUrl.openStream(), bufferSize);
在linux服务器上,我通过GSS-API javax.security.auth.login.LoginContext使用Kerberos,并且我能够针对Kerberos服务器进行身份验证:LoginContext.login()工作正常
现在我被困在这里,这是一个不推荐使用的工具,Oracle文档让我好几天都没说到点子上,SPNEGO()似乎没有解决我的问题
提前谢谢
参考文献:
Oracle文档:
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工具:大家好
我用不同的方法解决了我的问题。即使在linux机器上运行,我也可以使用NTLM从客户端进行身份验证(但该库也可以使用Kerberos)。多亏了ApacheHttpComponents库,这一切都成为可能
如果您有同样的问题,我建议您停下来:
再见 ssrs中有一个自定义的身份验证方案,只有在您控制了ssrs服务器的情况下,它才能为您的项目提供更大的灵活性。如果没有,您可能需要查看第三方库。谢谢您的回答,我可以控制SSRS服务器,我会查看它。但是,如果可能的话,我希望在我的公司使用kerberos windows身份验证来代替NTLM。