Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将AD FS登录添加到现有ASP.NET网站_C#_Iis_Adfs_Wif - Fatal编程技术网

C# 将AD FS登录添加到现有ASP.NET网站

C# 将AD FS登录添加到现有ASP.NET网站,c#,iis,adfs,wif,C#,Iis,Adfs,Wif,我正在一个面向web的ASP.NET网站上工作,任务是将AD FS登录添加到该网站的子文件夹(例如)。主站点()不能要求任何登录 我们希望将被动WIF用于我们的AD FS SAML 2.0/WS-Federation端点(我说的对吗),然后重定向回 我可以通过STS重定向,并在根Web.conf中添加一些内容: <!-- Start WIF authentication additions in <configuration> --> <configSections

我正在一个面向web的ASP.NET网站上工作,任务是将AD FS登录添加到该网站的子文件夹(例如)。主站点()不能要求任何登录

我们希望将被动WIF用于我们的AD FS SAML 2.0/WS-Federation端点(我说的对吗),然后重定向回

我可以通过STS重定向,并在根Web.conf中添加一些内容:

<!-- Start WIF authentication additions in <configuration> -->
<configSections>
  <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=XXX" />
  <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=XXX" />
</configSections>
<location path="FederationMetadata">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>
<!-- End WIF authentication additions -->




但这会强制对整个网站进行授权,而不仅仅是/secret/子文件夹,而且我在试图弄清楚这一点时遇到了比我想象中更大的困难。这是正确的方法吗?我应该研究一个完全基于代码的解决方案吗

该网站不是MVC

感谢您提供的任何指导,即使只是一些我应该在谷歌上搜索的更准确的术语

软件版本:

Web服务器-Windows Server 2016 v1607 b14393.2665(IIS v10.0.14393.0)

AD FS Host-Windows Server 2012 R2 Standard

您可以通过web.config在根级别或文件夹级别对文件夹使用“允许/拒绝”

e、 g



因此,通常允许用户(根据上面的元数据)并拒绝文件夹级别的访问。

谢谢您,我将授权标记从root system.web移到了子文件夹中,一切正常。。
<!-- Start WIF authentication additions in <system.web> -->
<authorization>
  <deny users="?" />
</authorization>
<authentication mode="None" />
<!-- End WIF authentication additions -->
<!-- Start WIF authentication additions in <system.webServer> -->
<modules>
  <add name="WSFederationAuthenticationModule" type="System.IdentityModel.Services.WSFederationAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=XXX" preCondition="managedHandler" />
  <add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=XXX" preCondition="managedHandler" />
</modules>
<!-- End WIF authentication additions -->
<!-- Start WIF authentication additions after <system.identityModel> -->
<system.identityModel>
  <identityConfiguration>
    <audienceUris>
      <add value="https://website.com/secret/test.aspx" />
    </audienceUris>
    <issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=XXX">
      <trustedIssuers>
        <add thumbprint="XXX" name="XXX Relying Party Trust" />
      </trustedIssuers>
    </issuerNameRegistry>
    <certificateValidation certificateValidationMode="None" />
  </identityConfiguration>
</system.identityModel>
<system.identityModel.services>
  <federationConfiguration>
    <cookieHandler requireSsl="true" />
    <wsFederation passiveRedirectEnabled="true" issuer="https://fs.website.com/adfs/ls" realm="https://website.com/secret/test.aspx" reply="https://website.com/secret/test.aspx" requireHttps="true" />
  </federationConfiguration>
</system.identityModel.services>
<!-- End WIF authentication additions -->
<location path="Folder">
   <system.web>
      <authorization>
         <deny users="*"/> 
      </authorization>
   </system.web>
</location>