在我的工作场所,我们正在尝试连接到另一台服务器上的 Microsoft SQL Server 数据库。我们的服务器是一个 ColdFusion 服务器,通过代理 AD 帐户运行服务。数据库的所有者请求我们创建另一个 AD 帐户,并授予其通过 Windows 身份验证访问其数据库的权限。尝试在 ColdFusion 管理页面中为此连接创建数据源并输入代理帐户信息时,我们收到此错误:
数据源 xxxxxxx 连接验证失败 java.sql.SQLInvalidAuthorizationSpecException:[Macromedia][SQLServer JDBC 驱动程序][SQLServer]用户“xxxxxxx”登录失败。根本原因 那是:java.sql.SQLInvalidAuthorizationSpecException: [Macromedia][SQLServer JDBC 驱动程序][SQLServer]用户登录失败 'xxxxxx'。
我认识到这是因为它尝试建立的连接可能是通过 SQL 身份验证,并且他们可能没有打开混合身份验证设置(基于查看之前的答案)。
所以我的问题是,我们还可以采取哪些其他步骤来正确设置此连接?我假设在数据库方面他们不会对更改身份验证设置或任何内容感兴趣,这意味着我们只能使用 Windows 身份验证。我们还有其他选择吗?
此链接已旧,但 Windows 身份验证的说明仍然适用。要将 CF 数据源设置为使用 Windows 身份验证:
AuthenticationMethod=Type2
并保存。username
和 password
字段留空NB: ColdFusion 服务必须在具有 SQL Server 权限的 AD 帐户下运行。它无法以编程方式更改。
我按照以下步骤使用我的 AD 登录凭据通过 Microsoft SQL Server 创建数据服务 - 这是在 Windows 10 作为操作系统中完成的
第 1 步:下载并安装 Coldfusion 后,检查“services.msc”下是否可以查看一些 Coldfusion 服务(请注意“Coldfusion ..... 应用程序服务器”)
第2步:右键单击服务“Coldfusion ..... Application Server”并选择“属性”,然后转到“登录”选项卡。在这里选择“此帐户”单选按钮,然后输入您的 AD 凭据(请使用浏览按钮检查 AD 用户名”,以便您得到确认
第 3 步:转到安装 Coldfusion Ex 的文件夹:C:\COldfusion23 。 右键单击此“Coldfusion”文件夹并转到属性 -> 安全 选择“编辑”按钮,然后选择“添加”并添加您在第 2 步中使用的 AD 配置文件,并给予其“完全控制”
第4步:重启服务参考第1步
第 5 步:启动“Coldfusion 管理控制台”-> 转到“数据和服务”
单击提交这将添加数据源
我在文章“http://web.archive.org/web/20151123073740/http://www.cfuser.com:80/windows-authentication-sql-server-and-coldfusion/”中找到了这个,你可以也参考这个
-谢谢