我有一个为表单身份验证配置的 SQL Server Reporting Services 2008 生产环境。我一直在尝试设置一个使用相同自定义授权扩展 dll 的新环境。不幸的是,它不起作用。dll的原始创建者和环境配置不可用。
我已验证扩展 DLL 中的 LogonUser 方法对有效凭据返回 true,对无效凭据返回 false。所以我知道 DLL 正在工作并配置为正确访问数据库。
登录页面从 Reporting Services 中的 LogonUser Web 服务方法成功返回,Fiddler 显示它具有 authCookie,并且我认为它应该被重定向到http://myurl/ReportManager/Pages/Folder.aspx . 但是当重定向到这个页面时,Fiddler 向我显示 authCookie 没有被浏览器发回。如果没有 auth cookie,Reporting Services 会直接返回自定义登录页面。相同的工作站和相同的浏览器在访问正在工作的旧实例时不会表现出这种行为。
我为这应该在这里还是在服务器故障上而苦苦挣扎。我最初选择 Server Fault 是因为扩展 dll 在另一个环境中工作,并且我的所有测试都表明问题不在 dll 中。这使我得出结论,该问题是 Reporting Services 配置问题。然而,对 SF 完全缺乏回应(而且意见很少),而且我的 IT 部门完全缺乏关于表单身份验证的知识,这让我重新考虑并在 SO 上发布了这个问题。
在此先感谢,
吉姆
编辑
我安装了 Firefox 和几个插件,然后重新运行我的测试。在表面上观察到的行为与 IE 相同。但是,Fiddler 显示 Firefox 在重定向到 /ReportManager/Pages/Folder.aspx 时正在发送 auth cookie(如前所述,IE 不会这样做)。但 Reporting Services 似乎忽略了它,仍然重定向到登录页面。cookie 编辑器插件显示 cookie 的名称为“authCookie”,站点为“my domain.com”。
对我来说,这似乎都是正确的,除了 RS 不断重定向到登录页面这一事实。为什么?