C#のファイルストリームがSQLServer認証を使用しているかどうかを知りたい。
ユーザーIDとパスワードを使用してWindows認証でファイルストリームを使用してデータベースに接続することは可能ですか?
C#のファイルストリームがSQLServer認証を使用しているかどうかを知りたい。
ユーザーIDとパスワードを使用してWindows認証でファイルストリームを使用してデータベースに接続することは可能ですか?
はい、Windows認証ファイルストリームを使用する必要があります。それに対処するための最良のことは、それを偽装することです。
クラス内で次のメソッドを宣言します
[DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern bool LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwlogonType, int dwlogonProvider, out SafeTokenHandle phtoken);
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern bool CloseHandle(IntPtr handle);
次に、メソッドで:
public void method()
{
WindowsImpersonationContext context = null;
SafeTokenHandle safeTokenHandle;
bool returnValue = LogonUser(connString[0], connString[1], connString[2], Convert.ToInt32(connString[3]), Convert.ToInt32(connString[4]), out safeTokenHandle);
WindowsIdentity windowsIdentity = new WindowsIdentity(safeTokenHandle.DangerousGetHandle());
context = windowsIdentity.Impersonate();
//Make some operations
context.undo();
}
C#のファイルストリームがSQLServer認証を使用しているかどうかを知りたい。
FileStreamが何であると思うかに依存します。SQLを介したFileStreamアクセスは、SQL接続が使用するものを使用します。Windows経由のFileStream(明らかに)はWindows認証を使用する必要があります。
ユーザーIDとパスワードを使用してWindows認証でファイルストリームを使用してデータベースに接続することは可能ですか?
ユーザー名とパスワードを使用してWindows共有に接続することは可能ですか?はい。これらがWindowsユーザーのユーザー名とパスワードである限り。