Sql-Server

SQL Server 新手問題中基於行的權限

  • May 15, 2017

我對此相對較新(數據庫,一般安全問題),所以我可能過於復雜了。我有一個包含學生成績的數據庫。我想設計一個視圖來限制每個學生的訪問。我可以想到 3 種方法:通過在 master 數據庫中授予權限,使用訪問控制列表可能在 AD 中創建組並分配角色,儘管這似乎需要為每個學生分配一個角色,這似乎太多工作了。有人可以指導我嗎?謝謝。

如果您希望每個學生只能訪問保護該學生的行,您可以通過在學生表中再添加一個欄位來實現此目的,您將在其中為每個學生儲存他的 AD 帳戶,然後創建一個視圖來加入所有您需要包括你的學生表並使用這樣的過濾器

where ... and user = dbo.students.ad_account

所以每個學生只能訪問他的行。這裡的 USER 是一個內置的 T-SQL 函式,它將返回學生的 AD 帳戶。當然,您應該使用 Windows 身份驗證為您的學生創建登錄名;您不需要單獨映射它們,添加一個 windows 組 yourDom\STUDENTS 就足夠了,其中每個學生都是 yourDom\STUDENTS 的成員

引用自:https://dba.stackexchange.com/questions/173522