J'ai créé un service WCF personnalisé au sein d'Umbraco. Le service réside dans le dossier Service
et semble fonctionner correctement (je peux l'appeler et il répond de façon appropriée). Maintenant, je veux que les utilisateurs s'authentifient lorsqu'ils appellent le service.Serveur WCF personnalisé avec authentification au sein d'Umbraco
Pour ce faire, je l'ai ajouté ces lignes dans le web.config
:
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
<bindings>
<webHttpBinding>
<binding name="RaceManBinding">
<security mode="None" />
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="RaceManagerAdmin.RaceManDataService" behaviorConfiguration="RaceManBehavior">
<endpoint address=""
binding="webHttpBinding"
contract="System.Data.Services.IRequestHandler" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="RaceManBehavior">
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
membershipProviderName="UmbracoMembershipProvider" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Quand mon service est appelé il doit utiliser le fournisseur d'appartenances Umbraco pour authentifier les utilisateurs.
Mon client specificies en créant un objet d'informations d'identification réseau, comme celui-ci:
var a = new RaceEntities(new Uri("http://localhost:40406/umbraco/Webservices/RaceManDataService.svc")) { Credentials = new NetworkCredential("admin", "secret") };
Quand je l'HTTPContext.Current
j'inspecte ne vois pas tous les utilisateurs authentifiés.
Qu'est-ce que je fais mal?
Frederik
Salut Je suis désolé, mais il semble que j'ai raté certaines parties de mon service.mode-tag. Je l'ai inclus tout maintenant. – Frederik