12.07.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!