SSRS 2016中的匿名身份验证

时间:2018-03-22 20:33:22

标签: sql sql-server reporting-services

我遇到的问题是我从网站访问我的报表服务器,但由于我在网站上嵌入了报表,我不想显示身份验证提示,但我知道SSRS 2016中的匿名身份验证,我想知道如何解决这个问题。

我的意思是窗口身份验证,当您尝试远程访问报表服务器时,它会显示窗口提示,当我在我的网站中嵌入该报表时,它会同样向我询问窗口密码,而我我想匿名连接,但sql server 2016不允许匿名身份验证enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

对于其他任何时尚迟到的人,您都可以实现匿名访问的自定义身份验证,如documentation中所述:

报表服务器将不接受来自匿名用户的未经身份验证的请求,但那些包含自定义身份验证扩展名的部署除外。

James Wu有一个很好的例子,说明我在2017年为SSRS 2008工作。但是,正如他所说:

您为什么要让互联网上的每个人都可以查看/更新/覆盖报表服务器上的内容?
请勿使用匿名认证!
切勿在生产环境中使用它!

增强:所有(匿名)用户也可以更新设置。 (您可以通过不为/Reports提供绑定(或仅提供机器绑定)来防止这种情况。我不是专家。)

如果您仍要使用它,只需确保正确地调整 all 的配置设置,并使用其他方法将IAuthenticationExtension更新为IAuthenticationExtension2:< / p>

    public void GetUserInfo(IRSRequestContext requestContext, out IIdentity userIdentity, out IntPtr userId)
    {
        userIdentity = new GenericIdentity("Dummy user");
        userId = IntPtr.Zero;
    }

为进行编译,我还必须包括C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\bin\Microsoft.ReportingServices.Interfaces.dll(似乎没有正式的Nuget)。