You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core集成SSRS:如何传递系统登录用户参数至报表?

在SSRS报表中展示本系统登录用户的方案

要实现这个需求,通过参数传递是最直接的方式,具体操作分四步:

  • 1. 在SSRS报表中创建专用参数
    打开报表设计器,添加一个文本类型的参数,命名为@CurrentSystemUser。将参数的「提示」设置为空(避免用户手动输入),同时关闭「允许空值」「允许空白值」选项,确保参数只能由外部传入。

  • 2. 在业务系统端传递用户参数
    在你调用SSRS报表的业务系统代码里,先获取当前登录的本系统用户账号/名称,再把这个值传递给报表的@CurrentSystemUser参数:

    • 如果是用C#通过ReportViewer控件调用,代码示例:
      ReportParameter[] reportParams = new ReportParameter[1];
      reportParams[0] = new ReportParameter("CurrentSystemUser", 当前登录用户的用户名);
      reportViewer.LocalReport.SetParameters(reportParams);
      
    • 如果是通过URL直接访问报表,在URL末尾拼接参数:
      http://你的SSRS服务器地址/ReportServer?/报表路径/报表名称&rs:Command=Render&CurrentSystemUser=当前登录用户名
      
  • 3. 在报表中添加用户展示控件
    在报表的页眉、页脚或需要显示用户的位置添加文本框,设置文本框的表达式为:

    =Parameters!CurrentSystemUser.Value
    
  • 4. 测试验证
    登录业务系统的某个用户,触发报表打印/预览,检查报表上是否正确显示该用户的名称,而非SSRS内置的计算机或系统用户。

注:如果报表是通过SSRS Web门户直接访问,需要结合业务系统的自定义身份验证机制传递用户信息,这种场景下需要额外配置SSRS的身份验证扩展,相对复杂,一般业务系统集成报表优先采用代码传参的方式。

内容的提问来源于stack exchange,提问作者Kharl Laniton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 11:45:37