2016-02-25 7 views
0

У меня есть веб-приложение, настроенное для защиты ADFS. И он работает отлично. Единственная проблема, с которой я сталкиваюсь сейчас, заключается в том, что мне нужен конкретный путь, чтобы быть анонимным.ADFS и анонимный доступ к пути

Пример:

myapp.com/services/api -> должны быть обеспечены ADFS.

myapp.com/services/myPublicPath -> не должен быть защищен adfs.

Я не очень уверен, как этого достичь. Я попытался использовать тег location на web.config, но не удался .. весь сайт защищен adfs .. я не знаю, как создавать исключения.

Это мой web.config.

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=301879 
    --> 
<configuration> 
    <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" /> 
    </configSections> 
    <appSettings> 
    </appSettings> 
    <connectionStrings> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.5.1" /> 
    <httpRuntime targetFramework="4.5" /> 
    <customErrors mode="Off"></customErrors> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 
    </system.web> 
    <system.webServer> 
    <modules> 
     <remove name="FormsAuthentication" /> 
     <remove name="UrlRoutingModule-4.0" /> 
     <add name="WSFederationAuthenticationModule" /> 
     <add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" /> 
    </modules> 
    <handlers> 
    </handlers> 
    </system.webServer> 
    <location path="FederationMetadata"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
    <location path="oauth"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 
    <runtime> 
    </runtime> 
    <system.identityModel> 
    <identityConfiguration> 
     <securityTokenHandlers> 
     </securityTokenHandlers> 
     <audienceUris> 
     </audienceUris> 
     <issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     </issuerNameRegistry> 

     <certificateValidation certificateValidationMode="None" /> 
    </identityConfiguration> 
    </system.identityModel> 

    <system.identityModel.services> 

    <federationConfiguration> 
    </federationConfiguration> 
    </system.identityModel.services> 
</configuration> 

Заранее спасибо.

С уважением,

+0

расположение тега обычно работает - то, что делает ваш выглядеть? – nzpcmad

+0

@nzpcmad спасибо. Я добавил настройки web.config –

ответ

0

"myapp.com/services/myPublicPath -> не должен быть обеспечен ADFS."

Так что место должно быть что-то вроде:

<location path="services/myPublicPath "> 
    <system.web> 
     <authorization> 
      <allow users="?"/>