首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用windows身份验证连接到sql server的java模拟。

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

Stack Overflow用户
提问于 2009-04-29 04:40:19
回答 3查看 4.5K关注 0票数 0

现在,我有以下用经典asp和visual basic6构建的体系结构。

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

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

在sql 2005中,我将相应的权限设置为mydomain\appAccount

在asp中,我只是将组件与server.createobject一起使用...

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

有可能吗?

如何配置域帐户以连接到sql server 2005数据库?

我应该在哪里存储db conf?我应该在哪里配置域帐户?在tomcat / jetty配置中?

我希望解决方案尽可能简单明了(我尽量避免像glassfish或jboss这样的东西)

嗯,非常感谢……

EN

回答 3

Stack Overflow用户

发布于 2009-07-18 00:24:19

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

然后,您需要根据Bhushan's answer在Tomcat中配置数据源。

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

票数 1
EN

Stack Overflow用户

发布于 2010-02-04 20:35:49

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

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

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

如果我得到了一个有效的解决方案,我会把它贴出来,因为我认为社区中的很多人都在这个问题上受到了伤害。

祝好运!

票数 1
EN

Stack Overflow用户

发布于 2009-04-29 04:54:55

有关如何配置数据源的信息,请查看此tomcat文档。http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/800904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档