现在,我有以下用经典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这样的东西)
嗯,非常感谢……
发布于 2009-07-17 16:24:19
您需要做的是确保Tomcat JVM进程由具有数据库可信连接的用户执行。
然后,您需要根据Bhushan's answer在Tomcat中配置数据源。
下面的MSDN文章详细介绍了如何设置数据源以使用集成安全性:
发布于 2010-02-04 12: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上工作)。这就是我们正在使用的驱动程序,它工作得很好。
如果我得到了一个有效的解决方案,我会把它贴出来,因为我认为社区中的很多人都在这个问题上受到了伤害。
祝好运!
发布于 2009-04-28 20:54:55
有关如何配置数据源的信息,请查看此tomcat文档。http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
https://stackoverflow.com/questions/800904
复制相似问题