如何在SSRS 2016中添加自定义身份验证 - 使用ADFS& OWIN

时间:2018-06-07 11:57:58

标签: asp.net authentication reporting-services webforms owin

我正在努力在SSRS 2016之上添加自定义身份验证。有一篇非常好的文章可以做同样的事情

Custom SecuritySample 2016 - https://github.com/Microsoft/Reporting-Services/tree/master/CustomSecuritySample2016

Microsoft提供的用于添加自定义身份验证的步骤基本上是添加表单身份验证,其中用户名/密码在logon.aspx上作为输入。我这样做了,它按预期工作。但我的要求是使用ADFS(Active Directory联合身份验证服务)对用户进行身份验证。幸运的是,有另一篇好文章可供dotnetcurry.com/windows-azure/1166/aspnet-mvc-multiple-adfs-owin-katana

使用

感谢上面的文章,我能够在样本MVC Web窗体应用程序中使用ADFS和OWIN进行身份验证。

但是,当我尝试将上述示例登录添加到Microsoft提供的自定义安全示例(上面提供的链接)时,问题就出现了。我得到了一个例外

  

类型的异常' System.Web.HttpUnhandledException'扔了。
  在上下文中找不到owin.Environment项目。

所以这就是我在做的事。

我在GitHub上提供的https://github.com/Microsoft/Reporting-Services/tree/master/CustomSecuritySample2016的CustomSecuritySample2016解决方案中添加了Startup.cs文件。 然后还在App_Start文件夹下添加了Startup.Auth.cs文件。 修改了web.config文件以添加以下设置。

<add key="owin:AppStartup" value="Microsoft.Samples.ReportingServices.CustomSecurity.Startup, Microsoft.Samples.ReportingServices.CustomSecurity" />
<add key="owin:AutomaticAppStartup" value="true" />
  1. 然后在Logon.aspx的Page_Load事件上,我只是试图通过扩展HttpContext来访问GetOwinContext方法。
  2.   

    private void Page_Load(object sender,System.EventArgs e)
          {

         

    var ct = HttpContext.Current.GetOwinContext();

         

    }

    1. 其余更改与GitHub上的自定义安全示例2016代码(上面的链接)中提到的完全相同。
    2. 我已经用Google搜索了这个例外情况,我已根据正确的答案添加了此设置,但我仍然提供此异常。

      <add key="owin:AppStartup" value="Microsoft.Samples.ReportingServices.CustomSecurity.Startup, Microsoft.Samples.ReportingServices.CustomSecurity" />
      <add key="owin:AutomaticAppStartup" value="true" />
      

      是因为SSRS不允许加载任何未在RSReportServer.config中添加的DLL吗?

0 个答案:

没有答案