我设置了SSRS服务器以使用基本身份验证 - 使用用户名和密码。当我访问Web管理界面(https://alpha.myserver.com/Reports)时,我会收到一个用户名/密码对话框,输入我设置的用户名和密码,系统会让我访问。同样,如果我访问Web服务URL(https://alpha.myserver.com/reportservice),我会获得相同的登录对话框,然后系统将允许我访问。
现在奇怪的是我将报表查看器控件嵌入到MVC应用程序中。该应用已配置与请求一起发送的凭据。该应用程序使用Web服务URL来获取某些内容(获取报告,文件夹等列表)和“显示”URL以显示报告。
当我在我的开发机器上本地运行应用程序,配置为与远程SSRS服务器通信时,一切正常。昨天我第一次将应用程序部署到测试服务器,当我进行Web服务调用以列出报告时,我收到了“401未授权”的响应代码。我不明白为什么在相同的情况下证书工作,而在其他情况下他们没有。我有双重和三重检查,我在每种情况下使用相同的域名,用户名和密码。
答案 0 :(得分:1)
SSRS有多种级别的身份验证:
如果您要向WCF服务或其他内容添加另一层,则可能是与该服务相关的凭据未在其预期的域帐户上运行。 SSRS对于每个级别的所有内容都非常挑剔。太多了,所以我会说。如果您可以从一个服务器或开发箱而不是另一个服务器运行代码,我猜测服务或帐户与该机器的访问级别不同。您是否可以在机器上获取限制错误,使用该帐户登录,尝试访问报告的URL?
我还试图让数据源使用嵌入其中的连接字符串。除非安全性是您希望提示用户提供额外安全性的问题,否则您可以为各个项目设置安全性,但必须配置数据源以进行自动身份验证。在设计器中单击数据源并选择“存储在安全服务器中的凭据”来执行此操作。