許多桌面應用程序使用SQL表來管理他們的用戶權限和角色。事實上,它們限制了在應用程序代碼中訪問應用程序的某些部分。這意味着他們需要一個具有最大權限的連接字符串到SQL服務器。什麼是數據庫桌面應用程序權限管理的最佳途徑?
我的目標是C#2010,SQL Server 2005或2008
如果有任何原因,有人發現了什麼是連接字符串?(網絡跟蹤,軟件黑客,前員工或...),他可以改變一切只有管理工作室,你無法瞭解哪個客戶端。如果你想改變連接字符串。您必須在許多客戶端執行此操作,並且在您需要重新編譯應用程序的不良設計中。
所以我想知道在表中使用真正的SQL登錄而不是用戶名和密碼是個好主意嗎?通過SQL登錄爲每個用戶建立連接字符串?
這樣就不用擔心鬆動連接字符串。同樣在SQL代碼中,您可以使用GetUser()函數來指示哪個用戶真的毀了查詢?
但是這樣管理權限可能很困難,因爲沒有簡單的表來管理權限和用戶。
在一個長句中。我想知道以管理權限的方式驗證桌面應用程序用戶的最佳方式是什麼以及sql server可以記錄用戶活動?
Windows身份驗證意味着每個可能的用戶都需要添加到數據庫中。在這種情況下不是一個非常易於維護的解決方案... – jeroenh 2010-08-10 10:09:18
@jeroenh:SQL上的Windows身份驗證可以使用安全組。您不必逐個添加每個用戶(並且許多組織已經具有定義的合適組)。 – 2010-08-10 10:21:18