Web services WCF avec Basic authentification seulement pour les méthodes
Bonjour, le titre n'est peut-être pas clair, le problème est quand même assez simple à expliquer par contre.
Je fais des Web Services en asp .net qui sont appelés par un site web en java et nous voulons mettre de la sécurité entre les 2. La compagnie qui fait le site java m'a imposé de mettre du httpbinding avec un certificat SSL et une authentification username password. Ils m'ont maintenant demandé de pouvoir s'authentifier seulement quand ils utilisent les web services et non quand ils génèrent les classes avec le wsdl. Je voulais savoir si c'était possible de permettre à l'usager de voir le contrat wsdl sans s'authentifier mais ensuite de l'obliger à mettre ses credentials pour utiliser les fonctions ? Voici à quoi ressemble mon fichier web.config :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="Binding1">
<security mode="Transport">
<transport clientCredentialType="Basic"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="Behavior1">
<serviceMetadata httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<serviceCertificate findValue="***"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName" />
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="CustomValidator.CustomUserNameValidator, App_Code"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="Behavior1" name="***Service">
<endpoint address="/Service1" binding="basicHttpBinding" bindingConfiguration="Binding1" contract="***Service1" />
<endpoint address="/Service2" binding="basicHttpBinding" bindingConfiguration="Binding1" contract="***Service2"/>
<endpoint address="/Service3" binding="basicHttpBinding" bindingConfiguration="Binding1" contract="***Service3"/>
<host>
<baseAddresses>
<add baseAddress="https://... />
</baseAddresses>
</host>
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="True"/>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration> |
Description d'un service web
Salut, je veux savoir comment faire pour décrir un service web Authentification (les éléments d'entrée , les éléments de sortie(càd signature des méthodes)......) c'est urgent et merci