VSTSビルドによるプロジェクトのビルドでは、vstsエージェントアカウントを使用します(セットアップvstsエージェントの場合に指定できます)。
最初に、vstsエージェントを使ってビルドとテストを行い、そのマシンにWindowsアカウントがありSQL Serverに接続してデータを読み取れば、SQL Serverからデータにアクセスするユーザーを偽装する可能性があります。
シンプルコード:
public static class Helper
{
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool LogonUser(
string lpszUsername,
string lpszDomain,
string lpszPassword,
int dwLogonType,
int dwLogonProvider,
out IntPtr phToken);
}
- あなたはエージェントをホスト使用している場合
IntPtr userToken = IntPtr.Zero;
bool success = Helper.LogonUser(
"[user name]",
"[domain]",
"[password]",
2, //2
0, //0
out userToken);
if (!success)
{
Assert.Fail("Logon user failed");
}
using (WindowsIdentity.Impersonate(userToken))
{
//TODO connect to your sql server database
}第二に
、唯一の方法は、あなたがするSQL Serverアカウントを使用する必要があるということですSQL Serverデータベースにアクセスし、SQL ServerインスタンスがHostedエージェントからアクセスできることを確認してください。