【问题标题】:How does the SQL Server JDBC Trusted Connection Authentication work?SQL Server JDBC 可信连接身份验证如何工作?
【发布时间】:2008-10-21 08:24:27
【问题描述】:

SQL Server JDBC 可信连接身份验证如何工作? (即受信任的连接如何以如此透明和优雅的方式对登录的 AD 用户进行身份验证,以及如何在没有数据库连接或任何使用现有 SQL Server 解决方案的情况下,在 Java 中为我的客户端-服务器应用程序实现类似的身份验证解决方案.)

假设 * 在 Windows 2003 域中工作 * 您可以通过 JNI/JNA 访问 Windows API

【问题讨论】:

    标签: java sql-server jdbc jna trustedconnection


    【解决方案1】:

    这取决于客户。例如,如果您有一个 Web 浏览器,它可以使用 NTLM 身份验证将您当前客户端的域身份验证传递给服务器。在这种情况下,IE 或 FF 等浏览器支持此功能,而您的 Web 服务器需要支持 NTLM。例如这里的 Tomcat:http://jcifs.samba.org/src/docs/ntlmhttpauth.html

    还有与 Kerberos 结合使用的 SPNEGO 协议,如下所述:http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/index.html

    如果您有自己的客户端,它是否能够使用本地用户的安全上下文并能够传递它取决于客户端的框架。上面的页面至少针对 kerberos 场景描述了这一点。

    问候 伯恩德

    PS:我不确定您是否可以将使用 jcifs/ntmlm 解决方案建立的身份验证上下文传递给 SQL Server 等后端组件。它应该适用于 Kerberos 票证(如果已配置)。

    【讨论】:

    • 这个 PS 评论就是问题所在。我想将使用 jcifs 建立的身份验证上下文传递给 SQL Server 等后端组件。有什么建议吗?
    【解决方案2】:

    jTDS 和 Microsoft JDBC 驱动程序都提供原生 Windows 身份验证。

    【讨论】:

      【解决方案3】:

      你看过this question吗?情况好像和你的差不多(使用 Windows 身份验证连接到 SQL Server 数据库)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多