【问题标题】:Getting windows account username of the client accessing the ssrs report获取访问 ssrs 报告的客户端的 windows 帐户用户名
【发布时间】:2015-11-16 05:07:27
【问题描述】:

有没有办法获取访问 ssrs 报告的客户端的 Windows 帐户用户名。如果用户正在从机器 A 访问服务器 B 上的报告,我们如何在 SSRS 报告中获取用户的 windows 用户名?

我使用了 User!UserID,它运行良好,因为我是在本地计算机上运行它。一旦将其部署到不同的服务器,它就会停止工作,因为有效的 User!UserID 不可用。

请。建议。


我的错。我正在获取用户名。但似乎我需要在服务器上执行的“代码”不起作用。我在“报告属性-> 代码”选项卡下添加了一个 vb.net 代码。它在本地机器上运行良好。我只需右键单击并将报告部署到服务器。是否需要执行任何额外步骤才能将“代码”也部署到服务器或执行。它是一个非常简单的 vb.net 函数,如下所示

Public Shared Function GetUserName(ByVal input as String) As String
        Try
            input = input.Replace("<domain>\", "")
            Dim details(2) As String
            details = input.Split(".".ToCharArray())
            input = String.Concat(details(1), ", ", details(0))
        Catch ex As Exception
            Return ex.Message
        End Try
        Return input
End Function

更新:
似乎由于某种原因 input=input.Replace("\","") 不起作用。代码的其余部分似乎正在工作。因此,代码肯定与报告一起部署。对为什么 input.Replace() 在本地机器上而不是在服务器上工作感到困惑。

更新: 我在本地机器上获取的域名似乎是小写的,而服务器上的域名是大写的,因此替换不起作用。现在我在替换之前将 ToLower() 应用于输入并且它正在工作。我的错。我应该更好地调试它。

我希望这个问题对希望在 ssrs 报告中获取 windows 用户名的人有用。

谢谢

【问题讨论】:

  • 很多事情都“不起作用”。请添加详细信息 - 您是否收到错误或意外输出?

标签: ssrs-2008 reporting-services


【解决方案1】:

如果您想在报告中显示名称,请使用 [&UserID]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    相关资源
    最近更新 更多