我目前正在研究如何使用Windows身份验证而不是SQL Server身份验证从我的Java EE Web应用程序连接到SQL Server数据库。我正在使用Tomcat 6.0运行此应用程序,并使用Microsoft JDBC驱动程序。我的连接属性文件如下所示:我可以使用Java EE webapp中的Windows身份验证连接到SQL Server吗?
dbDriver = com.microsoft.sqlserver.jdbc.SQLServerDriver
dbUser = user
dbPass = password
dbServer = localhost:1433;databaseName=testDb
dbUrl = jdbc:sqlserver://localhost:1433
使用SQL Server身份验证时,以这种方式连接到SQL Server数据库时没有问题。
有没有什么办法可以检索用户的Windows身份验证凭据,并使用即对SQL Server进行身份验证?
UPDATE:我知道在ASP.net中有一种方法来设置Windows身份验证访问webapp,这正是我所期待的,除了我想将该令牌传递给SQL Server for访问数据库。
问题确实在寻找SSO(单点登录)。 – jim 2008-12-03 12:19:40
@jim:如果您在Linux上基于Kerberos进行身份验证,那么您可以拥有SSO,但是我可以找到将它用于Linux上的MS SQL身份验证的唯一方法是通过DataDirect驱动程序。 – 2011-12-14 12:08:40
为什么JTDS驱动程序更可取?我知道它不支持连接池,这对我来说是必不可少的。 – megaflop 2012-05-01 16:05:03