在SQL Server中,您可以擁有基於Windows帳戶或單獨的特定SQL帳戶的帳戶。對於這兩種變體,您需要需要使用數據庫的每個用戶需要一個帳戶。
唯一的例外是能夠爲Windows安全性創建SQL Server登錄組,例如, MyAppUsers
,然後在您的數據庫中登錄該用戶。有了這個,任何屬於該安全組的Windows帳戶(在Windows/AD中)也將有權查看/使用您的數據庫。
通過這種方法,你也動誰可以使用你的數據庫進行的SQL Server,因爲它真的只能在Windows安全組取決於成員的管理。
一次登錄,一個用戶 - 多個Windows帳戶通過它獲得權限。看起來像我的贏家!
更新:
創建一個Windows AD組的登錄:
CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS
創建基於登錄數據庫中的用戶:
USE (your database)
CREATE USER GroupNameUser
FOR LOGIN [DOMAIN\GroupName]
連接字符串爲您SQL Server連接:
server=(your server);database=(your database);integrated security=SSPI;
我還能告訴你什麼?
更新#2:代碼不使用Windows帳戶是這樣的:
創建需要使用你的應用程序
CREATE LOGIN (some login name) WITH PASSWORD = 'Top$ecret'
創建一個用戶的每個用戶登錄在您的數據庫基於該登錄 - 再次,一次爲每個用戶您的應用程序:
爲您的SQL Server連接
USE (your database)
CREATE USER UserName
FOR LOGIN (some login name)
連接字符串:
server=(your server);database=(your database);
user id=UserName;Password=Top$ecret
但再次:這需要一次登錄,包括在每個數據庫,你需要保持跟蹤,並可能做的東西像密碼和一個用戶「重置密碼」操作等從您的數據庫應用程序。管理開銷更多!
您可以爲Windows/AD **組**創建登錄,然後爲該登錄創建一個用戶;任何屬於該組**的成員的Windows用戶現在都可以訪問您的數據庫表 –