Edgar, con una capa de servicios te quedá un único servidor de aplicaciones
(donde corren los servicios).

Dependiendo como hostees los servicios WCF podrían ser, dentro de los
comúnes:

   - IIS
   - Servicio de Windows

Luego configuras la identity del pool de IIS, o el servicio de Windows con
una cuenta de windows custom, y a esta cuenta le das permisos en el SQL
Server. Luego la autenticación la haces mediante seguridad integrada de
windows.

Así todas las llamadas la SQL server se hacen con la cuenta que definiste
que corre el servicio.

Con este esquema lo que se te puede complicar es la auditoría, si es que la
hacías en base a triggers y del usuario que se conectaba al SQL.

Cualquier cosa si no se entiende decime, que trato de explicarlo mejor.

Un abrazo,

El 19 de julio de 2011 11:09, Edgar Ramos <[email protected]> escribió:

> Entendido, pero en este caso, los servicios requeriran de algun privilegio
> (usuario, clave), para acceder a la bdd, y aqui que congiguracion sería lo
> recomendable, a lo mejor por tiempo la respuesta sea larga, algun link donde
> profundizar el tema ?
>
> Muy agradecido
>
> Saludos
>
> Edgar
>
> El 19 de julio de 2011 07:45, Carlos Peix <[email protected]>escribió:
>
> Otra opcion es que tu aplicacion acceda a la logica de negocios mediante
>> servicios web o WCF, en ese caso podrias restringir el acceso a la base de
>> datos de manera que solo los servicios puedan conectarse, nunca los usuarios
>> en forma directa.
>>
>> ----------------------------------
>> Carlos Peix
>>
>>
>> 2011/7/18 Edgar Ramos <[email protected]>
>>
>>> En otro hilo comentaban el hecho de conectarse directamente a la bbd,
>>> algo similar a lo tu comentario
>>> --
>>> En una aplicacion de escritorio que se conecta en forma directa a la base
>>> de datos
>>> --
>>>
>>> Que otra forma podria utilizar ?, los ejemplos que encuentro en internet
>>> son del mismo estilo, a los que expuse en mi primer correo
>>>
>>> Saludos
>>> Edgar
>>>
>>>
>>> El 17 de julio de 2011 05:26, Carlos Peix <[email protected]>escribió:
>>>
>>> Creo que estas mejor que muchos otros casos que he visto.
>>>>
>>>> En una aplicacion de escritorio que se conecta en forma directa a la
>>>> base de datos, ademas de la que has usado, tenes otra opcion que es acceder
>>>> a la misma con las credenciales del usuario por seguridad integrada. La
>>>> unica ventaja que tiene esta opcion es que no escribis la password en el
>>>> archivo de configuracion, la desventaja es que el usuario podria conectarse
>>>> por medios alternativos a la base de datos con los mismos derechos que 
>>>> tiene
>>>> con la aplicacion.
>>>>
>>>> Lo que yo haria en tu lugar es encriptar el string de conexion,
>>>> seguramente encontraras varios articulos en Google sobre el tema. Esto
>>>> mejora un poco la seguridad. Digo un poco por dos motivos: a) la password
>>>> sigue estando en el archivo de configuracion y, conociendo partes concretas
>>>> del string de conecion (la palabra server o user, por ejemplo), podria
>>>> simplificarse la ruptura por fuera bruta; b) la clave de desencriptacion
>>>> debe estar en el ejecutable, por lo cual podria ser obtenida mediante un
>>>> decompilador.
>>>>
>>>> Para resolver el punto a) podrias encriptar solo el password y armar el
>>>> string de conexion manualmente.
>>>>
>>>> Un abrazo
>>>>
>>>> ----------------------------------
>>>> Carlos Peix
>>>>
>>>> 2011/7/16 Edgar Ramos <[email protected]>
>>>>
>>>>> Gente un saludo
>>>>>
>>>>> Actualmente hago lo siguiente al desarrollar una app de escritorio con
>>>>> nh3 y una bdd sql server (2k,2k5,2k8)
>>>>> .- En el archivo hibernate,cfg.xml, configuro un usuario y contraseña
>>>>> para la conexion a la bdd
>>>>> .- este usuario fue creado en la bdd con las siguientes configuraciones
>>>>>       .- Funcion de servidor: public
>>>>>       .- miembro de funcion de bdd: public, db_datawriter,
>>>>> db_datareader (esto unicamente en la bdd que en la que trabajara)
>>>>>
>>>>>
>>>>> No creo estar las mejores practicas de seguridad, alguna recomendación
>>>>> ?
>>>>> Como lo estan llevando a cabo ustedes ?
>>>>>
>>>>> Gracias por los comentarios
>>>>>
>>>>> Saludos
>>>>> Edgar
>>>>>
>>>>> --
>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>> [email protected]
>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>>
>>>>
>>>>  --
>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>> [email protected]
>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>
>>>
>>>  --
>>> Para escribir al Grupo, hágalo a esta dirección:
>>> [email protected]
>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>
>>
>>  --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>



-- 
Saludos,

Walter G. Poch
Sr. .Net Developer
--------------------------------------------
Cell: +54 (9 341) 3353273
[email protected]

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a