【发布时间】:2023-03-21 08:14:01
【问题描述】:
我想使用 NAnt (V0.86.3317.0) 在 SourceGear Vault (V4.1.4) 中执行一些任务。
有什么方法可以让 Vault 使用来自 NAnt 的 Windows 身份验证来创建连接?
我用来初始化保险库连接的 NAnt 块是:
<target name="InitialiseVaultSettings">
<echo>InitialiseVaultSettings</echo>
<vaultsetloginoptions user="${vault.Username}" password="${vault.Password}" URL="${vault.Host}" repository="${vault.Repository}" />
<vaultsetworkingfolder repositoryFolderPath="${vault.Folder}" diskPath="${vault.WorkingDirectory}" createDiskPath="true" />
由于我正在与其他开发人员一起开发该项目,因此将用户名和密码硬编码到 NAnt 构建文件中并不是一个好主意。 username 和 password 都是 vaultsetloginoptions 命令中的必需选项。
其他替代方案(均带有渔获物)包括:
(a) 将“管理员”帐户硬编码到 NAnt 属性中并使用该帐户登录保险库。这不是很好,因为我们随后松散了谁负责 NAnt 脚本执行的签入/签出操作的审计跟踪。当解决方案检出文件时,它也会导致问题(部分脚本确保在 Vault 中生成标签之前将所有文件检入源代码控制)。
(b) 使用 NAnt 代码中的 C# 脚本来动态设置用户名和密码的属性...但我们仍然遇到了从用户那里获取密码的问题
(c) 从 Vault 客户端读取存储的配置文件信息并使用该信息进行连接(除非我不确定它的存储位置)。
【问题讨论】:
标签: windows-authentication nant integrated-security sourcegear-vault