Как разместить приложение. Net Core в IIS, применяя безопасность с помощью web.config - PullRequest
0 голосов
/ 08 июля 2020

В настоящее время мы применяем нашу безопасность, используя microsoft.identityModel, используя dll. net framework 4.7.2 для этого

Теперь у нас есть основное приложение. NET, которое будет размещено в IIS, там это способ применить эту безопасность, используя только файл web.config, как мы делали раньше?

   <configSections>
       <section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
   </configSections>
   <microsoft.identityModel>
    <service>
        <certificateValidation certificateValidationMode="None"/>
        <audienceUris mode="Never">
        </audienceUris>
        <federatedAuthentication>
            <wsFederation freshness="1" passiveRedirectEnabled="false" issuer="https://localhost/Login.aspx" realm="https://localhost/endpoint/" requireHttps="true" />
            <cookieHandler requireSsl="true" path="/" />
        </federatedAuthentication>
        <issuerNameRegistry type="Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
            <trustedIssuers>
                <add thumbprint="{STSCertificateThumbprint}" name="https://{FqdnForWebServerAccess}/Security/SecurityService.svc" />
            </trustedIssuers>
        </issuerNameRegistry>
        <securityTokenHandlers>
            <remove type="Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            <add type="Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
                <samlSecurityTokenRequirement>
                    <roleClaimType value="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" />
                </samlSecurityTokenRequirement>
            </add>
            <remove type="Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            <add type="Security.WSFederationSessionSecurityTokenHandler, Security" />
        </securityTokenHandlers>
        <claimsAuthorizationManager type="Security.ServiceClaimsAuthorizationManager, Security" />
    </service>
   </microsoft.identityModel>   

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
        <add name="ClaimsPrincipalHttpModule" type="Microsoft.IdentityModel.Web.ClaimsPrincipalHttpModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add name="ClaimsAuthorizationModule" type="Microsoft.IdentityModel.Web.ClaimsAuthorizationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add name="WSFederationAuthenticationModule" type="Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" />
        <add name="SessionAuthenticationModule" type="Security.SessionAuthenticationModule, Security" preCondition="managedHandler" />
    </modules>
    <security>
        <authentication>
            <anonymousAuthentication enabled="true" />
            <windowsAuthentication enabled="false" />
        </authentication>
    </security>
</system.webServer>
...