Seguridad...

22/12/2005 - 10:27 por AOG | Informe spam
Hola,
me podrías alguien aconsejar sobre la implementación de la seguridad
(autentificación, usuario y password) en una aplicación distribuida
utilizando un cliente (proyecto Windows form) y Servicio Web que expone la
capa de negocio, he estado buscando documentación y lo que se habla mucho es
la autentificación que se aplica con WSE 3.0 ya que programo con VS 2005. Mi
duda surge en aplicar este sistema ya que cuando implante mi proyecto quiero
que funcione al menos de dos formas: en el caso de que se implante en un solo
PC o una pequeña red local que no tenga el Servicio Web, es decir, que IU
ataque directamente a la capa de negocio y cuando se implante en un sistema
mayor como una Intranet (varias sucursales) si quiero que tenga el Servicio
Web por medio. Hasta ahora lo que hago es cuando quito el servicio Web
instancio directamente con las clase de negocio. Pero si intercalo la
autentificación por medio como me afectaría la seguridad pues yo quiere
seguir utilizando la autentificación tanto haya o no Servicio Web por medio.
Que sistema de seguridad o autentifiación me aconsejáis que sirva para ambos
sistema o que tenga pequeños cambios.

Un saludo.

Preguntas similare

Leer las respuestas

#1 CESAR DE LA TORRE [MVP]
22/12/2005 - 11:00 | Informe spam
Si estás seguro de que vas a disponer de Directorio Activo de Windows, usa
WSE 3.0 con autenticación KERBEROS, que propagaría automaticamente la
identidad del usuario cliente hacia el servidor mediante un ticket KERBEROS a
nivel de mensajes SOAP, sin tener que pasar usuario-password.
Si no dispones de Directorio Activo de Windows, pues usa un token de
seguridad de WSE 3.0 basado en usuario-password.

El primer sistema, KERBEROS, es mas transparente, pero recuerda que
necesitas ACTIVE DIRECTORY, no valen usuarios locales de Windows. Estoy
trabajando precisamente en un proyecto con WSE 3.0 y KERBEROS, así que si
tienes problemas, te ayudaría. :-)

Por último, si fueras a utilizar el WebService en Internet para usuarios
públicos o de otras empresas, utilizaría WSE 3.0 con Membership de ASP.NET
2.0 por debajo con usuarios Membership normales en SQL Server 2005, por
ejemplo.
CESAR DE LA TORRE
Software Architect
[Microsoft MVP - XML Web Services]
[MCSE] [MCT]

Renacimiento
[Microsoft GOLD Certified Partner]


"AOG" wrote:

Hola,
me podrías alguien aconsejar sobre la implementación de la seguridad
(autentificación, usuario y password) en una aplicación distribuida
utilizando un cliente (proyecto Windows form) y Servicio Web que expone la
capa de negocio, he estado buscando documentación y lo que se habla mucho es
la autentificación que se aplica con WSE 3.0 ya que programo con VS 2005. Mi
duda surge en aplicar este sistema ya que cuando implante mi proyecto quiero
que funcione al menos de dos formas: en el caso de que se implante en un solo
PC o una pequeña red local que no tenga el Servicio Web, es decir, que IU
ataque directamente a la capa de negocio y cuando se implante en un sistema
mayor como una Intranet (varias sucursales) si quiero que tenga el Servicio
Web por medio. Hasta ahora lo que hago es cuando quito el servicio Web
instancio directamente con las clase de negocio. Pero si intercalo la
autentificación por medio como me afectaría la seguridad pues yo quiere
seguir utilizando la autentificación tanto haya o no Servicio Web por medio.
Que sistema de seguridad o autentifiación me aconsejáis que sirva para ambos
sistema o que tenga pequeños cambios.

Un saludo.

Respuesta Responder a este mensaje
#2 AOG
22/12/2005 - 15:01 | Informe spam
Hola Cesar, muchas gracias por asistirme, de verdad.
Te comento: llevo programando unos siete años pero con Visual Basic 5.0,
tengo un proyecto "Facturación" en dicho lenguaje y ya es hora de reciclar y
pasarlo a VB .net. Te comento esto porque no soy experto en esta plataforma y
me está costando mucho entender todo esto. Para mi esto de programación
distribuida y más con Servicios Web es nuevo, también es mi primer contacto
con ASP .net. Donde estoy atascado es en como afrontar todo el tema de
traspaso de datos entre las capas pues están separadas lógicamente y puede
estar también físicamente. Ya me encontré el problema de control de errores
que tu me has solucionado, ahora me he encontrado la seguridad. Pues en el
proyecto que tengo en VB 5 es tan fácil como pedir usuario y clave y comprar
con la que tienes en la base de datos guarda y ya está como todo está en una
instancia el usuario que queda grabado en una variable y todo solucionado,
pero en este caso ha haber un Servicio Web o no, pero si la separación de las
capas la seguridad ha de ser algo mas eficaz.
Yo lo que quiero es tener un sistema primero de autenticación, si el usuario
existe en mi sistema (Base de Datos en la tabla usuarios) permitir ejecutar
la aplicación, y también un control que por cada método de la capa de negocio
que sea llamado desde el cliente sea comprobado si tiene acceso o no (tema de
roles) el problema es que como en la capa de negocio no puede haber estado no
se puede conservar el usuario activo. He estado buscando documentación y he
encontrado que esto se hace con WSE y he visto un ejemplo (MSDN Video) pero
el ejemplo era con la versión 2.0 y no me funciona o no se hacerlo en WSE 3.0

Con tu exposición si te soy sisero me he quedado igual pues no conozco el
sistema de autenticación KERBEROS, tampoco se a qué te refieres con el
Directorio Activo de Windows. Si no te importa te agradecería tal como te
dije en la exposición del control de errores que me lo expliques como para
torpes o me pongas un pequeño ejemplo de cómo se haría un llamada desde el
cliente (Windows form) y en la parte de negocio, o donde puedo encontrar
información donde puede solucionar me problema.
Como te he comentado antes, hay que tener en cuenta que el proyecto en
algunas circunstancia tendrá Servicio Web por medio y en otras no (IU hace
instancias directamente en las clase de la capa de negocio), el sistema tiene
que ser válida o tener que hacer pequeños cambios para los dos casos.
Un saludo,
Antonio

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida