我正在和我的窗戶形式的項目的問題。我有一個用戶更改SQL Server登錄密碼的功能。用戶將使用舊密碼在Windows窗體上進行登錄。導航到更改密碼功能後,系統會要求他們提供新密碼和舊密碼。新的和舊的密碼被接收,使用SQL命令來更改密碼強制用戶重新認證後,他們改變自己的登錄密碼
ALTER LOGIN [LOGIN_NAME]
WITH PASSWORD = 'NEW_PASS', OLD_PASSWORD = 'OLD_PASS';
但問題是,用戶還可在此會話中使用舊密碼和新密碼登錄到SQL Server。在我停止並再次開始項目之後,舊密碼已過期。我想在用戶提交新密碼時,應用程序必須再次強制其登錄。誰能給我解決方案?
非常感謝!
P/S:我想我應該多談談雙向用戶連接到數據庫。
我使用一個連接字符串是這樣的:
Program.connstr = "Data Source=" + Program.servername + ";Initial Catalog=" + Program.database + ";User ID=" + Program.mlogin + ";password=" + Program.password;
用戶連接到與該數據庫的授權帳戶數據庫,並執行任務的必要。並且密碼的更改將更新連接字符串的密碼。
再次感謝!
感謝您的回答。顯然,我不想關閉應用程序了。我讀了這個鏈接:https://msdn.microsoft.com/en-us/library/ms189828.aspx 他們說:「對於性能方面的原因,當密碼SQL數據庫復位,連接不會被重新 - 認證,即使連接因連接池而重置「。所以我認爲問題是連接仍然是老信息。如果我可以強制它更新這個連接,我的問題可能會得到解決。 – NhanDT