Silverlight WCF d'authentification (Aide allant de WPF Silverlight)
-
23-08-2019 - |
Question
J'ai une application WPF existant dans lequel travaille j'ai mis ma propre authentification personnalisée à un service WCF back-end. Quand j'accéder à ce service de WPF, la configuration ServiceProxy comme suit:
proxy.ClientCredentials.UserName.UserName = "test";
proxy.ClientCredentials.UserName.Password = "pass";
et parce que je suis en utilisant le protocole HTTPS uid / passwd est sécurisé.
Dans Silverlight 2 il n'y a pas .ClientCredentials objet sur le proxy. La seule option que j'ai trouvé est d'ajouter deux paramètres de chaîne à CHAQUE WCF méthode exposée pour uid / passwd. Cela ressemble à la folie pour moi, il doit y avoir une meilleure façon, non?
La solution
Malheureusement, Silverlight 2 ne supporte que basicHttpBinding ce qui signifie qu'il ne supporte pas ClientCredentials.
Les 2 options dont vous disposez sont: 1. Comme vous l'avez mentionné le nom d'utilisateur et passer passer à chaque demande. 2. utilisant l'authentification asp.net et activer le mode de compatibilité asp.net dans vos services.
- N.B. TransportSecurityWithMessageCredentials je mentionne ci-dessous ne semble pas faire la coupe pour SL3 si seules options sont les 2 ci-dessus pour les deux SL2 et SL3
Silverlight 3 améliore cette histoire avec TransportSecurityWithMessageCredentials et vous pouvez en savoir plus à ce sujet sur le blog Silverlight Web Services Team (relierait à elle, mais apparemment je suis un nouvel utilisateur, je ne suis pas admis0
HTH