none
Seguridad en un web service en Asp.net RRS feed

  • Pregunta

  • Hola quisiera saber si necesito poner seguridad a mi web service ya q otras veces e trabajado en aplicacion web asp.net y le puse segurida autentication ="Forms" y con el comando aspnet_regsql inserte tablas de seguridad a mi base de datos y tambien configure el web config. Y no se si tendria q hacer la misma configuracion en mi web service ya q trabajo con smart device q consume informacion del web service es un nuevo proyecto NO SE Q ME RECOMENDARIA PLEASE te agradeceria la respuesta.

    domingo, 8 de noviembre de 2009 23:29

Respuestas

Todas las respuestas

  • hola

    si crees que el servicio web que estas desarollando sera expuerto a internet por ahi sis eria bueno agregarle seguridad

    Este link esta mas que completo sobre el tema:

    como veras algo interesante en donde podrías utilizar las credenciales que viajan en el header del mensaje sopa
    lo veras en el titulo "None or Custom Authentication"


    Otra forma recomendada seria utilziar WSE y dentro de este el WS-Security



    saludos



    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 9 de noviembre de 2009 0:08
  • mira lo q te quiero explicar es q si puedo hacer el uso de membreship y haciendo uso de Asp.net configuration no se si podria usar este recurso
    lunes, 9 de noviembre de 2009 1:43
  • hola

    te comento, hasta donde se la seguridad por medio de Forms y asp.net membership, es algo especial si es que al queres usar de la misma forma para en un web service

    resulta que cuando te autenticas por medio de Forms, este hace uso de una cookie para guardar la informacion de las credenciales, como hay una session que el usuariuo inicia esto en asp.net normal es factible

    ahora bien en el ambiente del web service por defecto ni siquierea tienes el objeto session por lo que cada petición es stateless, no lo podrias confirmar ciento por ciento, pero entre llamadas estas credenciales no se enviarian


    ahora bien lo que si podrias hacer es enviar en cada llamda la info del usuario y su password, como te comentaba en el header del mensaje sopa y una vez en el servicio usar los metodos que provee asp.net membership para autenticar

    junto al comando que crea la db, hay una seria de metodos que se usa para poder consultar esas tablas, podrias usarlas en este caso en cada llamadas

    como veras en el link hay métodos que suas para validar el usuario por ejemplo Membership.ValidateUser(), este podrias usarlo sin problemas somo que en los ejemplos luego de validar se usa FormsAuthentication.RedirectFromLoginPage(), este en un web service no podras usarlo


    resumen envía las credenciales del usuario por algún medio, ya sea el soap header, o las credenciales del propio web service, y luego toma esa info, y validala con los métodos que provee asp.net membership


    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 9 de noviembre de 2009 1:57
  • mira mas o menos me recomiendas usar esto¿?

    <authentication mode="Windows" /> <authentication mode="Windows" />

    <identity impersonate="true" /> <identity impersonate="true" />

     

    <authorization>

    <deny user="DomainName\UserName" />

    <allow roles="DomainName\WindowsGroup" />

    </authorization>

    lunes, 9 de noviembre de 2009 2:38