tag recommendation moz length descriptions description wcf web-config wcf-binding servicebehavior

wcf - recommendation - title tag html



Se produjo un error al verificar la seguridad del mensaje (7)

El nombre de usuario y la contraseña son el servidor que usted conecta , no su nombre de usuario y contraseña de inicio de sesión del sistema.

Cuando trato de llamar a un servicio WCF recibo el siguiente mensaje "Se produjo un error al verificar la seguridad del mensaje".

Cuando elimino la autenticación personalizada, el servicio no funciona. No puedo entender sin embargo lo que he configurado mal en mi web.config. Cualquier idea sería apreciada.

<system.serviceModel> <services> <service behaviorConfiguration="NAThriveExtensions.nableAPIBehavior" name="NAThriveExtensions.nableAPI"> <endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_Secure" contract="NAThriveExtensions.InableAPI"> </endpoint> <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" /> </service> </services> <behaviors> <serviceBehaviors> <behavior name="NAThriveExtensions.nableAPIBehavior"> <serviceMetadata httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> <serviceCredentials> <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType= "NAThriveExtensions.Authentication, NAThriveExtensions" /> </serviceCredentials> </behavior> </serviceBehaviors> </behaviors> <bindings> <basicHttpBinding> <binding name="basicHttpBinding_Secure"> <security mode="TransportWithMessageCredential"> <message clientCredentialType="UserName"/> </security> </binding> </basicHttpBinding> </bindings> </system.serviceModel>


Estaba obteniendo el mismo error. Olvidé agregar el permiso de lectura en la base de datos de membresía aspnetdb a (IIS APPPOOL / DefaultAppPool).

La autenticación de mensaje falló. Servicio:....

Acción: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT

ClientIdentity:

ActivityId:

SqlException: no se puede abrir la base de datos "aspnetdb" solicitada por el inicio de sesión. El inicio de sesión falló.

Error de inicio de sesión para el usuario ''IIS APPPOOL / DefaultAppPool''.


Estaba recibiendo el mismo error y ninguno de los anteriores me ayuda.

Finalmente lo rastreé a connectionStrings en un web.config padre (mi servicio se implementó en una aplicación secundaria en un sitio de administración).

Sí, suena ridículo, pero tan pronto como envolví las cadenas de conexión en el web.config principal con un elemento de ubicación, todo comenzó a funcionar.

Para mayor claridad, en parent web.config, cambié esto

<connectionStrings> <add name="..." /> </connectionStrings>

a esto

<location path="." inheritInChildApplications="false"> <connectionStrings> <add name="..." /> </connectionStrings> </location>

Tenga en cuenta que este error también dio como resultado este mensaje de registro de serviceSecurityAudit muy inútil:

La autenticación de mensaje falló.
Servicio: ...
Acción: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT
ClientIdentity:
ActivityId:
ArgumentNullException: el valor no puede ser nulo.
Nombre del parámetro: gerente


Estaba recibiendo el mismo mensaje de error y resultó ser debido a una diferencia de tiempo entre mi máquina de estación de trabajo y el servidor que aloja el servicio WCF. El servidor estaba a unos 10 minutos de mi máquina y la seguridad de WCF no parece gustarle mucho.

Para encontrar el problema de raíz, activé serviceSecurityAuditing en el archivo de configuración del servidor. Agregue lo siguiente a la sección configuration / system.serviceModel / behaviors / serviceBehaviors / behavior para su servicio:

<serviceSecurityAudit auditLogLocation="Application" serviceAuthorizationAuditLevel="Failure" messageAuthenticationAuditLevel="Failure" suppressAuditFailure="true"/>

El siguiente sitio fue útil para resolver esto:

http://blogs.microsoft.co.il/blogs/urig/archive/2011/01/23/wcf-quot-an-error-occurred-when-verifying-security-for-the-message-quot-and-service-security-audit.aspx


Esto terminó siendo un problema del lado consumidor, no del servicio en sí mismo. WebMethods 8 de Software AG estaba consumiendo este servidor, pero no se agregó ningún controlador de seguridad al servicio, por lo que las credenciales no se agregaron al encabezado, lo que provocó el error mencionado anteriormente.


Obtuve el mismo error en mi servidor IIS 7.5. Olvidé agregar el permiso de lectura en la clave privada del certificado a la cuenta virtual del grupo de aplicaciones (por ejemplo, IIS AppPool / ASP.NET v4.0).

Para obtener información, mientras probaba varias combinaciones de cuentas y permisos, noté que era necesario reciclar el grupo de aplicaciones para perder acceso a la clave, una vez que se había recuperado una vez.

(0x80131501 - Se produjo un error al verificar la seguridad del mensaje).


Otra causa de este mensaje es cuando algunas de sus máquinas no están sincronizadas a tiempo. WCF, por defecto, permite un espacio de cinco minutos; más allá de esto, arroja un error si las cosas no están sincronizadas.

La solución es sincronizar todas sus máquinas. time.windows.com es notorio por no funcionar, entonces sugiero usar algo más. (Si se encuentra en un entorno corporativo, un controlador de dominio local puede ser la opción correcta aquí).