jithen_dt Ответов: 0

Пользовательская привязка с аутентификацией


Я получаю следующую ошибку, когда пытаюсь просмотреть wsdl (http://localhost:51230/OrderPlacementService.svc)

The 'CustomBinding'.'http://tempuri.org/' binding for the 'IOrderPlacementService'.'http://tempuri.org/' contract is configured with an authentication mode that requires transport level integrity and confidentiality. However the transport cannot provide integrity and confidentiality.


Пространство имен
OrderPlacement

Интерфейс есть
IOrderPlacementService

Класс, который реализует интерфейс
OrderPlacementService


Ниже приведен весь web.config

<?xml version="1.0"?>
<configuration>

  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="DBConnectionString" value="Server=localhost;Database=orderplacement;Uid=root;Pwd=root;" ></add> 
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.6.1" />
    <httpRuntime targetFramework="4.6.1"/>
  </system.web>
  <system.serviceModel>
    <bindings>
      <customBinding>
        <binding name="CustomBinding_IOrderPlacementService">
          <security defaultAlgorithmSuite="Default" authenticationMode="UserNameOverTransport" requireDerivedKeys="false" includeTimestamp="false" canRenewSecurityContextToken="true">
            <secureConversationBootstrap defaultAlgorithmSuite="Default" authenticationMode="UserNameOverTransport" requireDerivedKeys="true" includeTimestamp="true" >
              <localClientSettings detectReplays="false"/>
              <localServiceSettings detectReplays="false"/>
            </secureConversationBootstrap>
            <localClientSettings detectReplays="false"/>
            <localServiceSettings detectReplays="false"/>
          </security>
          <textMessageEncoding writeEncoding="utf-8" />
          
          <httpTransport manualAddressing="false" maxBufferPoolSize="524288"
                         maxReceivedMessageSize="65536" allowCookies="false"
                         authenticationScheme="Anonymous" bypassProxyOnLocal="false"
                         hostNameComparisonMode="StrongWildcard" keepAliveEnabled="true"
                         maxBufferSize="65536" proxyAuthenticationScheme="Anonymous" realm=""
                         transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
                         useDefaultWebProxy="true"   >
       
          </httpTransport>
            
        </binding>
      </customBinding>
    </bindings>
    <services>
      <service name="OrderPlacement.OrderPlacementService" behaviorConfiguration="OrderPlacementBehavior">
        <endpoint address="OrderPlacementService.svc" binding="customBinding" bindingConfiguration="CustomBinding_IOrderPlacementService" name="CustomBinding_IOrderPlacementService" contract="OrderPlacement.IOrderPlacementService"/> 
        <!-- <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> -->
        <endpoint address="mex" binding="mexHttpBinding" contract="OrderPlacement.IOrderPlacementService"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="OrderPlacementBehavior">
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>  
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
          <serviceCredentials>
            <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="OrderPlacement.UserNameValidator, OrderPlacement"/>
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--
        To browse web app root directory during debugging, set the value below to true.
        Set to false before deployment to avoid disclosing web app folder information.
      -->
    <directoryBrowse enabled="true"/>
  </system.webServer>

</configuration>


Что я уже пробовал:

Хотя у меня есть
httpTransport
определена ошибка говорит
authentication mode that requires transport level integrity
Я попробовал погуглить, но не смог найти решения. Пожалуйста, помогите решить эту проблему.

0 Ответов