2009-04-11 7 views
5

Dans la mise en œuvre pour mon service que j'ai:Configuration WCF l'authentification des formulaires

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

Dans mon fichier .config je:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

et:

 
    <system.web.extensions> 
    <scripting> 
     <webServices> 
     <authenticationService enabled="true" requireSSL = "false"/> 
     </webServices> 
    </scripting> 
    </system.web.extensions> 

et:

<authentication mode="Forms" />

Dans la méthode "Login" pour mon service, j'ai:

FormsAuthentication.SetAuthCookie(request.UserName, false);

Cependant, quand je vérifie:

HttpContext.Current.User.Identity.Name

Il est une chaîne vide. Qu'est-ce que je rate?

Répondre

1

L'authentification par formulaire est utilisée lorsque vous souhaitez que l'utilisateur remplisse un formulaire de connexion.

Pour un service, il serait préférable d'utiliser un mécanisme d'authentification différent.

0

Je suppose que vous vérifiez le Identity.Name sur une demande ultérieure?

Avez-vous un élément dans votre fichier web.config?

De même, assurez-vous de capturer le cookie à partir de la réponse de connexion et de le renvoyer aux demandes suivantes?

1

Essayez à la place d'utiliser ServiceContext.User.Identity.

Questions connexes