0
我正在做一個簡單的C#.net winform應用程序,它將連接到sql server。 我想它有2種方式來連接 - Windows身份驗證和SQL服務器身份驗證。sql連接字符串Windows身份驗證c#winforms(未集成)
從我在網上找到我想出了至今與:
public static void SetConnectionStringParams(string dbAddress, bool isWinAuth, string user, string password)
{
if (isWinAuth)
{
_connectionString =
string.Format(
"Data Source={0};Database = {1};Integrated Security=True;Max Pool Size=1000;MultipleActiveResultSets=True;Connection Timeout=60",
dbAddress, DefaultDBname);
}
else
{
_connectionString =
string.Format(
"Data Source={0};Database = {1};User ID={2};Password={3};Max Pool Size=1000;MultipleActiveResultSets=True;Connection Timeout=60",
dbAddress, DefaultDBname, user, password);
}
}
偉大的工程,但我無法找到如何在Windows身份驗證的情況下,我強迫使用Integrated Security=True
都需要用戶名和密碼,而不是...
有沒有一個API可以做到這一點?如果沒有,將不勝感激指導如何做到這一點。
謝謝
您誤解了Windows身份驗證是什麼。這意味着應用程序將使用*當前Windows帳戶*連接到數據庫。這是一個**非常好的事情,因爲用戶不必再次提供他們的憑證。將其視爲SSO開箱即用。如果沒有「集成安全性」關鍵字,您將無法進行Windows身份驗證 –
*爲什麼*您想要使用SQL Server身份驗證*?你*已經*知道用戶是誰。如果您不想將個人帳戶添加到數據庫中,請將所有用戶都置於Windows組中並將該組添加到數據庫 –
是的,但我希望它在強制連接到sql server時強制重新輸入用戶憑據使用當前Windows帳戶(作爲安全防範),有可能嗎?謝謝 –