如何从网站获取可用的 SSRS 报告
How to get available SSRS reports from a website
我们已经设置了 SQL Reporting Services 2012,并且已经安装了一些报告和 运行。
我们已经为用户角色设置了通过活动目录访问某些报告的权限,当从 SSRS 网络服务查看这些报告时一切正常
现在我们想从部署在另一台服务器上的网站内部显示这些报告,这些报告是用 React 制作的,它应该只列出当前登录用户可以在比 SSRS 提供的用户界面更漂亮的用户界面中访问的报告。
我们如何从网站上确定要显示的报告的链接列表?请记住,具有不同权限的用户应该只能看到他们有权访问的链接
像这样针对报告服务器的东西怎么样?您会将登录的用户名传递给此查询以限制报告
SELECT C.Name
,U.UserName
,R.RoleName
,R.Description
,U.AuthType
FROM Reportserver.dbo.Users U
JOIN Reportserver.dbo.PolicyUserRole PUR
ON U.UserID = PUR.UserID
JOIN Reportserver.dbo.Policies P
ON P.PolicyID = PUR.PolicyID
JOIN Reportserver.dbo.Roles R
ON R.RoleID = PUR.RoleID
JOIN Reportserver.dbo.Catalog c
ON C.PolicyID = P.PolicyID
ORDER BY U.UserName
我们已经设置了 SQL Reporting Services 2012,并且已经安装了一些报告和 运行。
我们已经为用户角色设置了通过活动目录访问某些报告的权限,当从 SSRS 网络服务查看这些报告时一切正常
现在我们想从部署在另一台服务器上的网站内部显示这些报告,这些报告是用 React 制作的,它应该只列出当前登录用户可以在比 SSRS 提供的用户界面更漂亮的用户界面中访问的报告。
我们如何从网站上确定要显示的报告的链接列表?请记住,具有不同权限的用户应该只能看到他们有权访问的链接
像这样针对报告服务器的东西怎么样?您会将登录的用户名传递给此查询以限制报告
SELECT C.Name
,U.UserName
,R.RoleName
,R.Description
,U.AuthType
FROM Reportserver.dbo.Users U
JOIN Reportserver.dbo.PolicyUserRole PUR
ON U.UserID = PUR.UserID
JOIN Reportserver.dbo.Policies P
ON P.PolicyID = PUR.PolicyID
JOIN Reportserver.dbo.Roles R
ON R.RoleID = PUR.RoleID
JOIN Reportserver.dbo.Catalog c
ON C.PolicyID = P.PolicyID
ORDER BY U.UserName