Объединить приложение .NET MVC с SAML, используя Sustainsys / Saml2 - PullRequest
0 голосов
/ 08 мая 2018

В настоящее время проверка подлинности Windows используется нашим веб-приложением. Нам нужно интегрировать это в существующий единый вход в SAML. Я с Sustainsys / Saml2 собираюсь интегрировать наше веб-приложение с SAML.

URL-адрес домашней страницы нашего сайта: http://siteName/Home/Index

Конечная точка IdP: https://providerName.com:8080/idp/start/sso.ping?PartnerSpid=mySite

Когда я пытаюсь перейти к единому входу saml и ввести свои учетные данные, меня перенаправляют на наш сайт: http://siteName/Home/Index Итак, я предположил, что настройка среды saml работает правильно

Моя проблема в том, что когда я перехожу на домашнюю страницу нашего сайта, если пользователь еще не аутентифицирован, я хочу, чтобы он сначала перенаправил на конечную точку Idp для аутентификации пользователя: https://providerName.com:8080/idp/start/sso.ping?PartnerSpid=mySite

Вот текущий web.config, который я пытаюсь:

<configSections>
    <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" />
  </configSections>
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <compilation targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
    <authentication mode="Windows" />
    <authorization>
      <deny users="?" />
    </authorization>
    <customErrors mode="Off" />
  </system.web>
  <system.webServer>
    <modules>
        <add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <add name="Saml2AuthenticationModule" type="Sustainsys.Saml2.HttpModule.Saml2AuthenticationModule, Sustainsys.Saml2.HttpModule" />
    </modules>
    <security>
        <authentication>
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>
  </system.webServer>
  <sustainsys.saml2 entityId="https://providerName.com:8080/idp/start/sso.ping?PartnerSpid=mySite" returnUrl="https://providerName.com:8080/idp/start/sso.ping?PartnerSpid=mySite">
    <identityProviders>
      <add entityId="https://providerName.com:8080/pf/federation_metadata.ping?PartnerSpId=mySite" signOnUrl="https://providerName.com:8080/idp/start/sso.ping?PartnerSpid=mySite" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
        <signingCertificate fileName="~/App_Data/Saml2.cer" />
      </add>
    </identityProviders>
  </sustainsys.saml2>
  <system.identityModel.services>
    <federationConfiguration>
      <cookieHandler requireSsl="false" name="SampleMvcApplicationAuth" />
    </federationConfiguration>
  </system.identityModel.services>

1 Ответ

0 голосов
/ 10 мая 2018

Перенаправление обрабатывается путем установки режима аутентификации в форме.

<authentication mode="Forms">
  <forms loginUrl="~/Saml2/SignIn" />
</authentication>
...