我遇到的问题是我从网站访问我的报表服务器,但由于我在网站上嵌入了报表,我不想显示身份验证提示,但我知道SSRS 2016中的匿名身份验证,我想知道如何解决这个问题。
我的意思是窗口身份验证,当您尝试远程访问报表服务器时,它会显示窗口提示,当我在我的网站中嵌入该报表时,它会同样向我询问窗口密码,而我我想匿名连接,但sql server 2016不允许匿名身份验证enter image description here
答案 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)。