获取访问ssrs报告的客户端的Windows帐户用户名

时间:2010-01-11 21:39:02

标签: ssrs-2008 reporting-services

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

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

PLS。建议。


我的坏。我正在获取用户名。但似乎我需要在服务器上执行的“代码”没有用。我在“报告属性 - >代码”选项卡下添加了一个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用户名的人有用。

由于

1 个答案:

答案 0 :(得分:2)

如果要在报告上显示名称,请使用[&amp; UserID]