J'ai 2 applications Web: l'une est une application Web ASP.Net et l'autre est une application de services Web ASP.Net WCF. Je souhaite que l'application Web utilise les services de consommation de l'application Web WFC. Finalement, ces 2 applications communiqueront via un pare-feu.Comment puis-je transmettre les informations d'utilisateur consignées de l'application Web ASP.Net au service WCF?
Je souhaite que l'utilisateur se connecte à l'application Web client à l'aide de l'authentification par formulaires, authentifiée par le service wcf, puis puisse accéder aux ressources de service en fonction de ses rôles.
Jusqu'ici, j'ai réussi à me connecter en utilisant System.Web.ApplicationServices.AuthenticationService bien que je n'ai pas réussi à obtenir la méthode de service IsLoggedIn pour renvoyer true. Cependant, l'application web client reconnaît que l'utilisateur s'est connecté.
En outre, j'ai été en mesure de créer un service factice qui reconnaît l'utilisateur dans OperationContext.Current.ServiceSecurityContext.PrimaryIdentity et je pensais que c'était le journal dans l'utilisateur qu'il reconnaissait mais il s'avère que c'est en fait le ServiceClient.ClientCredentials.UserName qu'il reconnaît. Comment puis-je passer les détails de l'utilisateur connecté au service WCF?
Je pourrais définir ClientCredentials.UserName à l'utilisateur connecté mais je ne peux pas penser à un moyen d'obtenir le mot de passe. Est-ce que j'utilise complètement la mauvaise approche ici ou y a-t-il quelque chose qui me manque? Tout avis sera le bienvenu.
Ceci est ma configuration de liaison:
<wsHttpBinding>
<binding name="wsHttp">
<security mode="Message">
<message clientCredentialType="UserName"
negotiateServiceCredential="false"
establishSecurityContext="false"/>
</security>
</binding>
</wsHttpBinding>
Merci, Iain
Salut Rubens, merci pour votre réponse. Je crains que cela ne fonctionne pas parce qu'il passe par les informations d'identification de Windows plutôt que les informations d'authentification des formulaires. Merci, Iain – Iain