2009-08-18 12 views
10

Estoy tratando de configurar la suplantación del cliente en mi servicio.¿Qué valor debe tener el servicio Nombreprincipal?

necesito fijar un valor para el servicePrincipalName de mis servicios de punto final

estoy buscando en este MSDN article pero todavía no puedo averiguarlo

Mi servicio está alojado en una aplicación de consola en el servidor que llamaremos a ServerName1.
El Uri es: net.tcp://ServerName1:9990/TestService1/.

¿Cuál debería ser específicamente mi servicioPrincipalName?

he intentado, sin alegría:

<identity> 
    <servicePrincipalName value="ServerName1" /> 
</identity> 

Respuesta

8

El nombre del usuario que desea el servicio para el usuario (ejecutar bajo). Por lo que si se desea ejecutar en los términos de credenciales 'red local' del XML anterior tendrá el siguiente aspecto:

<identity> 
    <servicePrincipalName value="Local Network" /> 
</identity> 
+1

Entonces, ¿hay una lista de valores aceptados que se puede utilizar aquí decir "red local" es uno de ellos? ¿Qué valor debería tener si quiero utilizar las credenciales de usuario de los clientes llamantes? –

+0

@Tom No creo que pueda configurar eso en la configuración, pero puede hacerlo desde el código –

+0

Estaba usando un servicio de red para ejecutar mis pruebas automáticas, incluida la generación de solicitudes SOAP para probar algunos servicios WCF. Las solicitudes estaban fallando y esta configuración de "Red local" resolvió mi problema. –

8

Configuración ServicePrincipleName es un tema difícil de describirlo en pocas palabras Quizás estos artículos ayudarán:

Lo más probable, es necesario CONFIGU re que la siguiente manera

<identity> 
    <servicePrincipalName value="HOST/ServerName1:9990" /> 
</identity> 

Utilizamos generalmente userPrincipalName en lugar de servicePrincipalName, como este

<identity> 
    <userPrincipalName value="[email protected]" /> 
</identity> 
0

Al usar los servicios de WCF hospedados por IIS.

Tenemos el uso de "host/computerName", como <servicePrincipalName />, para la conexión anónima. Dentro de su aplicación WCF, puede configurar el grupo de aplicaciones, por ejemplo, "iis apppool \ defaultAppPool", este usuario será el usuario real conectado.

En el siguiente imagen /C ?????? DataService es el nombre de la aplicación ("TestService1 de Tom") grupo de aplicaciones: C ???? piscina puede ser "DefaultAppPool", en el caso de "Solicitud Usuario (autenticación de paso) ", usará" IIS AppPool \ DefaultAppPool "como usuario para otorgar derechos a recursos específicos, como un archivo o una cadena de conexión de servidor sql.

Y, incluso utilizando autenticación anónima, puede establecer "autorización de formularios", a un recurso específico dentro de la aplicación WCF, por ejemplo "MasterSettings.svc".

enter image description here

esperanza esto ayuda

Cuestiones relacionadas