“安全登入名”和”安全使用者”的差別:
- “安全登入名”是在通過以下方式添加:<伺服器名稱> ——》安全性——》登入名,右鍵選擇“建立登入名”
- ”安全使用者”:具體資料庫——》安全性——》使用者,右鍵選擇“建立使用者”,在彈出的“資料庫使用者界面”,使用者名可以随便自定義,登入名則要求是填寫已存在的“安全登入名”
對報表模型項應用安全篩選器 - 報表模型項應用安全篩選器的原理是,在需要啟用安全篩選的表需要一個字段來儲存對應的windows登入帳号,一AdventureWorks資料的Employee表為例。LoginID儲存雇員的windows登入帳号。Reporting Serivce内置getuser()函數提供了取得目前登入使用者的帳号,使用表達式過濾不是目前使用者的資訊,如:LoginID=getuser() ,即可排除目前使用者不該看到的資料。
對報表模型項應用安全篩選器 對報表模型項應用安全篩選器 - 出了正确的表達式外,還需要進行下列步驟
- 将使用getuser() 篩選表達式的(假設名稱是:UserIDFilter)進行如下設定:
- UserIDFilter,屬性IsFilter設定為true,
- UserIDFilter,屬性Hidden設定為true,該辨別一般不需要然使用者看到。
- 選擇UserIDFilter所屬實體,
- 選擇 “SecurityFilters” 屬性,再單擊省略号 ( … ) 按鈕。将打開 “屬性引用集合編輯器” 對話框。
- 單擊 “添加” 。
- 将打開 “安全篩選器屬性”
- 在 “字段” 清單中,選擇 “UserIDFilter” 。點選“确定”
- 進入報表中心,假設我們使用的報表模型是“Adventure Works”。
- 輕按兩下 Adventure Works ,然後單擊 “模型項安全性”
- 選中 “單獨保護此模型的各項” 複選框。若要應用模型項安全性,必須選中此複選框
- 頂端節點。
- “為以下使用者群組(用分号分隔)配置設定讀取權限” 選項。
- 鍵入 Everyone “應用”
- 現在,整個報表模型對于具有報表模型權限的所有使用者是可見的。
- 展開“雇員”實體。 選擇“UserIDFilter”屬性。
- 選擇“為以下使用者群組(用分号分隔)配置設定讀取權限”選項。
- 若要向 Rachel0 和 Garrett1 授予通路權限,請鍵入 <ComputerName>\Rachel0; <ComputerName>\Garrett1,然後單擊“應用”。
- 将使用getuser() 篩選表達式的(假設名稱是:UserIDFilter)進行如下設定:
- 驗證 Rachel Valdez 的安全設定
- 使用報表設計器建立一個很簡單的報表,隻包含Employee實體的一個字段:LoginID,然後儲存此報表“報表1”
- 右鍵單擊 Internet Explorer ,再單擊 “運作身份”
- “使用者名” 框中,鍵入 <計算機名稱> / Rachel0