2009-04-11 22 views
5

En la puesta en práctica de mi servicio tengo:Configuración de la autenticación de formularios WCF

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

En mi archivo .config que tengo:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

y:

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

y:

<authentication mode="Forms" />

En el método de "Login" para mi servicio, me tienen:

FormsAuthentication.SetAuthCookie(request.UserName, false);

Sin embargo, al comprobar:

HttpContext.Current.User.Identity.Name

Es una cadena vacía. ¿Qué me estoy perdiendo?

Respuesta

1

La autenticación de formularios se utiliza cuando desea que el usuario complete un formulario de inicio de sesión.

Para un servicio, sería mejor utilizar un mecanismo de autenticación diferente.

0

Supongo que está revisando Identity.Name en una solicitud posterior?

¿Tiene algún elemento en su web.config?

Además, ¿se está asegurando de capturar la cookie de la respuesta de inicio de sesión y reenviarla en las solicitudes posteriores?

1

Pruebe usar ServiceContext.User.Identity en su lugar.

Cuestiones relacionadas