使用应用注册账户授权Dynamics 365 ReportSession遇阻求助
针对你用应用注册账户访问ReportViewer返回登录页的问题,需要检查以下几个关键配置:
添加Dynamics 365报表专用应用权限
确保应用注册已添加Dynamics 365 Customer Service的Reports.Read.All应用权限(注意是应用权限,而非委派权限),并且完成了管理员同意。普通数据访问权限无法覆盖报表查看的授权需求。允许服务主体访问报表服务器
在Power Platform管理中心进入目标环境的设置,找到「报表」选项,配置报表服务器访问权限,将应用注册的客户端ID添加到允许访问的服务主体列表中。Dynamics 365集成的SSRS默认会限制非交互式服务主体的访问,必须手动开启。请求头补充必要信息
访问/CMSReports/RSViewer/ReportViewer.aspx时,除了带上Authorization: Bearer <access_token>,还需要添加MSCRMCallerID请求头,值为应用注册关联的Dynamics用户的GUID。报表服务需要明确知道模拟的具体用户身份,否则会触发登录重定向。验证关联Dynamics用户的报表权限
确认关联的Dynamics用户已被分配包含报表访问权限的安全角色,比如「报表查看者」或「系统管理员」(需确保角色中启用了“查看报表”“运行报表”等权限)。即使账户有AD角色,Dynamics内部的安全角色权限也需要单独配置。处理会话Cookie
第一次请求ReportViewer.aspx会返回会话Cookie,后续请求/Reserved.ReportViewerWebControl.axd时需要携带这些Cookie,否则报表服务会认为会话未建立,返回登录页面。
内容的提问来源于stack exchange,提问作者suttonb1

