小编Mar*_*sy1的帖子

如何解决此 SSRS 身份验证异常?

我正在尝试在 SSRS 2008(不是 R2)中实现一些自定义安全代码,以允许表单身份验证而不是 Windows 身份验证。我的解决方案基于 Microsoft 示例代码,并设法使其大部分工作正常。我唯一遇到问题的地方是登录到实际的报表管理器 URL 时。

问题 1 使用 URL 时,http://localhost/Reports_MSSQL2008/它不会选取UILogon.aspx我复制到/Pages文件夹中的页面(按照 Microsoft 示例的说明)。我修改了 ReportManager 文件夹中的 web.config 以包含以下内容:

<authentication mode="Forms">
  <forms loginUrl="UILogon.aspx" 
         name="sqlAuthCookie" 
         timeout="60" 
         slidingExpiration="true" 
         path="/" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

我尝试更改路径以匹配 aspx 文件的确切路径,但仍然没有乐趣!

问题 2 由于上述问题,我尝试通过 URL 进入 UILogon 和 ReportManager http://localhost/Reports_MSSQL2008/Pages/UILogon.aspx。这是因为我可以进入我的自定义代码(UILogon.aspx.cs 和 IAuthorisation / IAuthentication 代码),我可以看到它执行以下操作:

  • 验证/授权用户
  • 创建 cookie
  • 将 cookie (sqlAuthCookie) 存储在响应/请求 cookie 容器上
  • 执行 response.redirect 到 /Folder.aspx 页面

问题是,当 response.redirect 返回到 GetUserInfo() 方法时,HttpContext.Current.User 为空,并且不再有 cookie。因此,返回一个空的 IIdentity(不能将它设置为其他任何东西!!)并且 SSRS 抛出错误......

Microsoft.ReportingServices.Diagnostics.Utilities.AuthenticationExtensionException: …

.net security ssrs-2008 formsauthentication

4
推荐指数
1
解决办法
7599
查看次数

标签 统计

.net ×1

formsauthentication ×1

security ×1

ssrs-2008 ×1