在 SQL / Reporting Services 中使用参数限制用户访问

Posted

技术标签:

【中文标题】在 SQL / Reporting Services 中使用参数限制用户访问【英文标题】:Using parameters to limit user access in SQL / Reporting Services 【发布时间】:2018-01-24 14:03:31 【问题描述】:

我正在寻找一种使用参数来限制对报告某些部分的访问的方法,但我还没有找到一种方法来做到这一点。

我想做的是让报告获取人员用户名,然后在报告的其他参数中限制他们可以使用的选项。

例如,约翰是呼叫中心部门的经理,所以约翰 不应该看到业务中其他部门的选项 并且应该只在部门中看到“呼叫中心”选项 参数。

这可能吗?如果不是,是否有使用类似方法的替代方法?

【问题讨论】:

如何为每个部门创建一个只包含他们可以查看的数据的报告? 这是我最初的想法,但是有很多部门,并且管理(仅限于部门内的一组用户)将无法长期管理。 您应该使用辅助表将每个用户映射到其部门,然后将您的报告结果加入到该表中 【参考方案1】:

首先,您需要通过某种方式确定谁应该能够看到什么。最简单的情况是,您可以构建一个表来处理用户和部门。

然后在您的报告中创建一个仅返回值部门的数据集,例如

SELECT DepartmentID, DepartmentName FROM UserDepartments WHERE UserName = SYSTEM_USER

我在这里使用了SYSTEM_USER,但这仅在您使用 Windows 身份验证执行数据集时才有效。

然后在您的部门参数中,只需将可用值设置为您刚刚创建的数据集。

【讨论】:

以上是关于在 SQL / Reporting Services 中使用参数限制用户访问的主要内容,如果未能解决你的问题,请参考以下文章

Sql Server Report Service 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)

Reporting Service 2000的一些技巧总结

Reporting service个人使用经验

Jazz for Service Management 1.1.2 中定义的新用户无法访问 Tivoli Common Reporting

解密数据以用于 SQL Reporting Services 2008

在 SQL / Reporting Services 中使用参数限制用户访问