在 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就可以運行)
Jazz for Service Management 1.1.2 中定义的新用户无法访问 Tivoli Common Reporting