De la seguridad en Servicios Web para .Net - Willy .Net
De la seguridad en Servicios Web para .Net - Willy .Net
De la seguridad en Servicios Web para .Net - Willy .Net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Si trabaja con una aplicación <strong>Web</strong> de ASP.NET que se conecta a un servicio <strong>Web</strong> ytransfiere el contexto de <strong>seguridad</strong> del l<strong>la</strong>mador original (mediante<strong>De</strong>faultCred<strong>en</strong>tials o estableci<strong>en</strong>do <strong>la</strong>s cred<strong>en</strong>ciales explícitas, como <strong>en</strong> el casoanterior), debería establecer <strong>la</strong> propiedad ConnectionGroupName del proxy deservicio <strong>Web</strong> de <strong>la</strong> aplicación <strong>Web</strong>. Con ello se consigue evitar que un cli<strong>en</strong>teaut<strong>en</strong>ticado nuevo vuelva a utilizar una conexión TCP aut<strong>en</strong>ticada antigua <strong>para</strong> elservicio <strong>Web</strong> asociado con unas cred<strong>en</strong>ciales de aut<strong>en</strong>ticación de cli<strong>en</strong>te anteriores.La reutilización de conexiones puede t<strong>en</strong>er lugar tras un resultado HTTP KeepAlivesy <strong>la</strong> persist<strong>en</strong>cia de aut<strong>en</strong>ticación que se habilita por motivos de r<strong>en</strong>dimi<strong>en</strong>to <strong>en</strong> IIS.Establezca <strong>la</strong> propiedad ConnectionGroupName <strong>en</strong> un id<strong>en</strong>tificador (como elnombre de usuario del l<strong>la</strong>mador) que distinga un l<strong>la</strong>mador del sigui<strong>en</strong>te, tal como semuestra <strong>en</strong> el fragm<strong>en</strong>to de código anterior.Nota: si el contexto de <strong>seguridad</strong> del l<strong>la</strong>mador original no se transfiere a través de<strong>la</strong> aplicación <strong>Web</strong> hasta el servicio <strong>Web</strong> sino que <strong>la</strong> aplicación <strong>Web</strong> se conecta alservicio <strong>Web</strong> mediante una id<strong>en</strong>tidad fija (como <strong>la</strong> id<strong>en</strong>tidad de proceso ASP.NETde <strong>la</strong> aplicación <strong>Web</strong>), no será necesario que establezca <strong>la</strong> propiedadConnectionGroupName. En este esc<strong>en</strong>ario, el contexto de <strong>seguridad</strong> de conexiónpermanece constante de un l<strong>la</strong>mador al sigui<strong>en</strong>te.L<strong>la</strong>mar a los servicios <strong>Web</strong> desde cli<strong>en</strong>tes que no seande WindowsExist<strong>en</strong> una serie de <strong>en</strong>foques de aut<strong>en</strong>ticación que funcionan con los esc<strong>en</strong>ariosque implican varios exploradores. Entre ellos figuran:Aut<strong>en</strong>ticación mediante certificados. Mediante certificados X.509 <strong>para</strong>varias p<strong>la</strong>taformas.Aut<strong>en</strong>ticación básica. Si desea obt<strong>en</strong>er un ejemplo de cómo utilizar <strong>la</strong>aut<strong>en</strong>ticación básica con un almacén de datos personalizado (sin que seanecesario Active Directory), consultehttp://www.rassoc.com/gregr/weblog/stories/2002/06/26/webServicesSecurityHttpBasicAuth<strong>en</strong>ticationWithoutActiveDirectory.html (<strong>en</strong> inglés).Enfoques <strong>para</strong> m<strong>en</strong>sajes GXA. Utilice <strong>Web</strong> Services <strong>De</strong>velopm<strong>en</strong>t Toolkit<strong>para</strong> implem<strong>en</strong>tar soluciones GXA (WS-Security).Enfoques personalizados. Por ejemplo, <strong>para</strong> transferir <strong>la</strong>s cred<strong>en</strong>cialesmediante <strong>en</strong>cabezados SOAP.Aut<strong>en</strong>ticación de servidor proxyLa aut<strong>en</strong>ticación de servidor proxy no se admite <strong>en</strong> el cuadro de diálogo Agregarrefer<strong>en</strong>cia <strong>Web</strong> de Visual Studio .NET (aunque sí que será compatible <strong>en</strong> <strong>la</strong>sigui<strong>en</strong>te versión de Visual Studio .NET). Como resultado puede producirse unestado de HTTP 407: "Aut<strong>en</strong>ticación proxy obligatoria" cuando int<strong>en</strong>te agregar unarefer<strong>en</strong>cia <strong>Web</strong>.Nota: quizás no experim<strong>en</strong>te este error si visualiza el archivo .asmx desde unexplorador porque los exploradores <strong>en</strong>vían <strong>la</strong>s cred<strong>en</strong>ciales automáticam<strong>en</strong>te.Para solucionar este problema, utilice <strong>la</strong> utilidad de <strong>la</strong> línea de comandos Wsdl.exe(<strong>en</strong> vez del diálogo Agregar refer<strong>en</strong>cia <strong>Web</strong>), como se muestra a continuación.wsdl.exe /proxy:http:// /pu: /pp:/pd: http://www.You<strong>Web</strong>Server.com/Your<strong>Web</strong>Service/YourService.asmx