3) verdadera, wsHttpBinding y wsDualHttpBinding son los únicos enlaces HTTP que soportan sesiones
5) falsos, con el fin de autenticar a los llamadores de servicios que no necesariamente necesitas cualquier seguridad de nivel de transporte (como SSL/HTTPS). El único requisito es configurar IIS para habilitar Autenticación de Windows integrada para un directorio virtual. Luego, en WCF tiene tres posibilidades que permitan a este escenario:
a) Utilizar la seguridad de nivel de transporte en el wsHttpBinding con las credenciales de Windows (HTTPS)
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="SecurityEnabledWsHttp">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
b) Utilizar la seguridad a nivel de mensajes en el wsHttpBinding con ventanas credenciales (HTTP)
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="SecurityEnabledWsHttp">
<security mode="Message">
<message clientCredentialType="Windows" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
c) Ejecutar el servicio bajo el ASP.NET Modo de compatibilidad y habilitar la autenticación de windows en ÁSPID.NET (HTTP)
<system.web>
<authentication mode="Windows" />
</system.web>
Nótese que en un y b se accede a la identidad de la persona que llama desde dentro de un servicio de esta manera:
OperationContext.Current.ServiceSecurityContext.WindowsIdentity
6) verdadera, transporte -nivel de seguridad debe estar habilitado en el wsHttpBinding para poder usar HTTPS
7) False, Sesiones confiables es una implementación particular de Mensajería confiable para sesiones de WCF. Reliable Messaging es una especificación estándar WS- * diseñada para garantizar la entrega de mensajes en una red no confiable. Puede usar sesiones de WCF sin Mensajería confiable, y viceversa. Las sesiones están habilitadas en el contrato de servicio con este atributo:
[ServiceContract(SessionMode=SessionMode.Required)]
public interface IMyService {
// ...
}
recordar también que con el fin de mantener el estado entre las llamadas al servicio tendrá explícitamente para habilitar el modo instancia apropiada en la ejecución del contrato de servicios:
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]
public class MyService : IMyService {
// ...
}
Hay dos tipos de sesiones en WCF: Secure Sessions y sesiones confiables. La configuración predeterminada para wsHttpBinding y netTcpBinding es utilizar Secure Sessions.
Para wsHttpBinding, esto se lleva a cabo con seguridad de nivel de mensaje utilizando las credenciales del cliente, que es configuración predeterminada para el enlace.
Para netTcpBinding en su lugar, la sesión se establece en el nivel de transporte mediante el uso de las instalaciones del protocolo TCP.
Esto significa que simplemente al cambiar a wsHttpBinding o netTcpBinding se habilitará la compatibilidad con las sesiones de WCF.
La alternativa es usar Sesiones confiables. Esto tiene que estar explícitamente habilitado en la configuración de enlace y elimina el requisito de usar seguridad de mensaje para wsHttpBinding. Así que esto va a funcionar:
<bindings>
<wshttpbinding>
<binding name="ReliableSessionEnabled">
<reliablesession enabled="True" ordered="False" />
<security mode="None" />
</binding>
</wshttpbinding>
</bindings>
8) Falso, Sesiones fiables se utilizan independientemente de la configuración de seguridad del canal de comunicación.
Para una explicación más detallada, eche un vistazo a this article.
¿Está experimentando errores específicos con esta configuración o está revisando si esta configuración es factible? –
Me gustaría saber si la configuración es posible: es decir, sesiones de WCF con HTTPS. Gracias. –