Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用windows身份验证连接到sql server的java模拟_Java_Sql Server_Windows_Configuration_Integrated Security - Fatal编程技术网

使用windows身份验证连接到sql server的java模拟

使用windows身份验证连接到sql server的java模拟,java,sql-server,windows,configuration,integrated-security,Java,Sql Server,Windows,Configuration,Integrated Security,现在,我使用经典的asp和visual basic 6构建了以下体系结构 我有一个用VB6开发的COM+组件,它连接到dabatase。我通过一个配置了集成安全性的.udl文件来设置DB conf 在web服务器(IIS)上,我向com+管理器注册该组件,并将其配置为在帐户名下运行,例如mydomain\appAccount 在sql 2005中,我将mydomain\appAccount授予相应的权限 从asp中,我只使用server.createobject的组件 我想用java开发一个类似

现在,我使用经典的asp和visual basic 6构建了以下体系结构

我有一个用VB6开发的COM+组件,它连接到dabatase。我通过一个配置了集成安全性的.udl文件来设置DB conf

在web服务器(IIS)上,我向com+管理器注册该组件,并将其配置为在帐户名下运行,例如mydomain\appAccount

在sql 2005中,我将mydomain\appAccount授予相应的权限

从asp中,我只使用server.createobject的组件

我想用java开发一个类似的解决方案,问题如下:

可能吗

如何配置域帐户以连接到sql server 2005 db

我应该在哪里存储数据库配置?我应该在哪里配置域帐户?在tomcat/jetty配置中

我希望解决方案尽可能简单明了(我尽量避免使用glassfish或jboss之类的东西)


好的,非常感谢……

查看有关如何配置数据源的tomcat文档。

您需要做的是确保Tomcat JVM进程是由具有数据库可信连接的用户执行的

然后,您需要在Tomcat中配置数据源

以下MSDN文章详细介绍了如何设置数据源以使用集成安全性:


    • 所以这是一个非常棘手的问题,我现在也遇到了同样的问题。我还没有解决应用服务器中的模拟问题,但我的团队正在接近

      到目前为止,我们已经成功地使用Kerberos根据域控制器对用户进行身份验证。SourceForge SPNEGO和Spring Security Kerberos扩展在这方面都非常有用。我们还能够在连接到SQL Server时成功模拟运行Java应用程序的进程。真正的问题是通过委托进行模拟,因为它要求您获得可以委托给另一个服务的Kerberos票证。这是我们目前正在研究的问题

      如果要在SQL Server中模拟用户,必须使用NTLM或Kerberos。Kerberos提供了最好的安全性,老实说,我们甚至没有费心尝试使用NTLM。有两个JDBC驱动程序(据我所知)允许您使用域帐户连接到SQL Server:jTDS和DataDirect JDBC。jTDS是一个2型JDBC驱动程序,这意味着它依赖于本机库为用户获取凭据。jTDS将只模拟运行该进程的用户,不允许您模拟其他帐户(而且,它只能在Windows上进行此操作)。DataDirect驱动程序(Commercial)是一个4型驱动程序,这意味着它是一个纯Java实现(可以在*nix上工作)。这是我们正在使用的驱动程序,它工作得很好

      如果我找到了一个可行的解决方案,我会发布它,因为我认为社区中的很多人在这个问题上受到了伤害


      祝你好运

      非常感谢,我仍然无法接受答案,因为我没有时间尝试,但我希望我能很快做到。。。