第 3 课:在 Management Studio 中启用行级别安全性
新建日期: 2006 年 4 月 14 日
在报表模型内启用行级别安全性的过程分为两个步骤:首先使用模型设计器至少创建一个筛选器属性,并将其分配给要对其应用行级别安全性的实体的 SecurityFilters 集合;然后使用 Management Studio 基于您在模型设计器中创建的筛选器来授予行级别权限。
始终应用安全筛选器,甚至是对于具有模型的内容管理员权限的用户也是如此。为了允许管理员或其他用户看到在其上定义了行级别安全性的实体的所有行,您可以创建一个空的安全筛选器(它始终返回 True),再使用该筛选器授予那些用户访问所有行的权限。
在本课中,将启动 SQL Server Management Studio,并使用您在第 2 课中创建的已筛选属性来应用模型项安全性。
启动 SQL Server Management Studio
单击**“开始”,依次指向“所有程序”**、Microsoft SQL Server 2005,再单击 SQL Server Management Studio。
将出现**“连接到服务器”**对话框。
在**“服务器类型”**下拉列表中,选择 Reporting Services。
在**“服务器名称”**下拉列表中,连接到存储模型的报表服务器。
验证是否已选中**“Windows 身份验证”,再单击“连接”**。
在对象资源管理器中,将显示报表服务器的内容。
授予访问 Adventure Works 报表模型的权限
在对象资源管理器中,双击**“主文件夹”**。
双击**“模型”**。
右键单击**“Adventure Works”,再选择“属性”**。
在**“选择页”窗格中,选择“模型项安全性”**。
选中**“单独保护此模型的各项”**复选框。
注意: 若要应用模型项安全性,必须选中此复选框。 选择**“Adventure Works”顶级节点,再单击“添加组或用户”**。
键入 Everyone,再单击**“确定”**。
选中**“模型项浏览者”**复选框。
现在,整个报表模型对于具有报表模型权限的所有用户是可见的。
授予 Adventure Works 报表模型的行级别访问权限
展开**“雇员”**实体。
选择**“UserIDFilter”**属性。
选择**“将这些角色用于每一个组或用户帐户”**选项。
选择**“Everyone”组,再单击“删除”**。
单击**“添加组或用户”**。
若要将访问权限授予 Rachel0,请键入 <计算机名称>\Rachel0,再单击**“确定”**。
选中**“模型项浏览者”**复选框。
单击**“添加组或用户”**。
若要将访问权限授予 Garrett1,请键入 <计算机名称>\Garrett1,再单击**“确定”**。
选中**“模型项浏览者”**复选框。
若要关闭“模型属性”对话框,请单击**“确定”**。
后续步骤
您已经成功地对报表模型中的模型项应用了行级别安全性。在下一课中,将通过在报表生成器中生成一个简单报表来验证这些更改,再像 Rachel0 和 Garrett1 那样查看报表以验证行级别安全性是否像预期的那样工作。请参阅第 4 课:验证已应用的行级别安全更改。