No permitir más de un inicio de sesión por usuario

15/11/2003 - 14:26 por Franci | Informe spam
Hola grupo,

estoy realizando una aplicación vb6 contra SQL Server 2000, la
aplicación es multiusuario. Utilizo autentificación de SQL Server. Al
arrancar la aplicación pregunto por el nombre de usuario y su contraseña,
que utilizo como inicio de sesión para acceder a la base de datos que
utilizo.

El problema es que un mismo usuario puede entrar con su inicio de sesión
a través de la aplicación en dos máquinas distintas existentes en la red.
¿Hay alguna forma que SQL Server controle que sólo se pueda realizar un
inicio de sesión para un usuario?

Gracias de antemano

Saludos

_______
Franci

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano Damian
15/11/2003 - 16:15 | Informe spam
Hola Franci!!! aca te mando un ej de como lo podrias hacer.

declare @contar int

set @contar = (select count(*) from sysprocesses where loginame ='sysadm')
select @contar


El tema es asi: En la tabla sysprocesses estan los datos de todos los
procesos ahi yo cuento si el usuario (sysadm) cuantos tiene (si tiene mas q
0 es porque esta logeado)

y lo muestro en la varible @contar

luego con esa varible podrias hacer un if y raiseerror por ej.

Espero haber sido de utilidad.

Un saludo

Accotto Maximiliano Damian
Fundicion San Cayetano S.A.
Buenos Aires Argentina

Gerente de Sistemas y Tecnologia
()

"Franci" escribió en el mensaje
news:
Hola grupo,

estoy realizando una aplicación vb6 contra SQL Server 2000, la
aplicación es multiusuario. Utilizo autentificación de SQL Server. Al
arrancar la aplicación pregunto por el nombre de usuario y su contraseña,
que utilizo como inicio de sesión para acceder a la base de datos que
utilizo.

El problema es que un mismo usuario puede entrar con su inicio de


sesión
a través de la aplicación en dos máquinas distintas existentes en la red.
¿Hay alguna forma que SQL Server controle que sólo se pueda realizar un
inicio de sesión para un usuario?

Gracias de antemano

Saludos

_______
Franci


Respuesta Responder a este mensaje
#2 Javier Loria
15/11/2003 - 17:14 | Informe spam
Hola Franci:
Si la aplicacion esta hecha en VB6, los usuarios son usuarios de
Windows, porque quieres usar la autenticacion de SQL?.
Lo pregunto porque MS "desrecomienda" el uso de la seguridad de SQL.
Por ejemplo los BOL dicen "La autenticación de SQL Server se proporciona
por motivos de compatibilidad con versiones anteriores.".
Adicionalmente tiene problemas conocidos, como que en internet hay
software para desencriptar y obtener las claves de todos los usuarios, como
que las claves pasan en texto legible por la red, como que no es posible
regular la cantidad de veces que un usuario se autentica, como que no es
posible regular el minimo del password, o cada cuando debe cambiarse la
clave, etc.
Mi experiencia es que la autenticacion de SQL, solo sirve para dar un
falso sentido de seguridad, porque pide usuario y clave. Si eso es lo que
quieres, puedes hace un formulario de login y cada 7/8 veces haces BIP y
mandas un messagebox con "Clave Incorrecta", los usuarios tranquilos y tu
aplicacion segura :)

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Franci escribio:
Hola grupo,

estoy realizando una aplicación vb6 contra SQL Server 2000, la
aplicación es multiusuario. Utilizo autentificación de SQL Server. Al
arrancar la aplicación pregunto por el nombre de usuario y su
contraseña, que utilizo como inicio de sesión para acceder a la base
de datos que utilizo.

El problema es que un mismo usuario puede entrar con su inicio de
sesión a través de la aplicación en dos máquinas distintas existentes
en la red. ¿Hay alguna forma que SQL Server controle que sólo se
pueda realizar un inicio de sesión para un usuario?

Gracias de antemano

Saludos

_______
Franci
Respuesta Responder a este mensaje
#3 Franci
15/11/2003 - 17:52 | Informe spam
Hola Javier,

¿la autenticación de Windows la puedo realizar sobre un grupo de trabajo
de la red o necesito forzosamente crear un dominio? es que en principio
sería para un grupo de trabajo. Un equipo tiene el SQL Server instalado y
los demás se conectarían a él. ¿Puedo realizar esto en un grupo de trabajo
con autentificación de Windows? es que al intentar añadir un inicio de
sesión con autenticacion de Windows me pide el dominio y nombre de cuenta y
no consigo que me acepte una cuenta de otra máquina

Gracias

_______
Franci



"Javier Loria" escribió en el mensaje
news:%
Hola Franci:
Si la aplicacion esta hecha en VB6, los usuarios son usuarios de
Windows, porque quieres usar la autenticacion de SQL?.
Lo pregunto porque MS "desrecomienda" el uso de la seguridad de SQL.
Por ejemplo los BOL dicen "La autenticación de SQL Server se


proporciona
por motivos de compatibilidad con versiones anteriores.".
Adicionalmente tiene problemas conocidos, como que en internet hay
software para desencriptar y obtener las claves de todos los usuarios,


como
que las claves pasan en texto legible por la red, como que no es posible
regular la cantidad de veces que un usuario se autentica, como que no es
posible regular el minimo del password, o cada cuando debe cambiarse la
clave, etc.
Mi experiencia es que la autenticacion de SQL, solo sirve para dar un
falso sentido de seguridad, porque pide usuario y clave. Si eso es lo que
quieres, puedes hace un formulario de login y cada 7/8 veces haces BIP y
mandas un messagebox con "Clave Incorrecta", los usuarios tranquilos y tu
aplicacion segura :)

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Franci escribio:
> Hola grupo,
>
> estoy realizando una aplicación vb6 contra SQL Server 2000, la
> aplicación es multiusuario. Utilizo autentificación de SQL Server. Al
> arrancar la aplicación pregunto por el nombre de usuario y su
> contraseña, que utilizo como inicio de sesión para acceder a la base
> de datos que utilizo.
>
> El problema es que un mismo usuario puede entrar con su inicio de
> sesión a través de la aplicación en dos máquinas distintas existentes
> en la red. ¿Hay alguna forma que SQL Server controle que sólo se
> pueda realizar un inicio de sesión para un usuario?
>
> Gracias de antemano
>
> Saludos
>
> _______
> Franci


Respuesta Responder a este mensaje
#4 Franci
15/11/2003 - 17:52 | Informe spam
Hola Javier,

¿la autenticación de Windows la puedo realizar sobre un grupo de trabajo
de la red o necesito forzosamente crear un dominio? es que en principio
sería para un grupo de trabajo. Un equipo tiene el SQL Server instalado y
los demás se conectarían a él. ¿Puedo realizar esto en un grupo de trabajo
con autentificación de Windows? es que al intentar añadir un inicio de
sesión con autenticacion de Windows me pide el dominio y nombre de cuenta y
no consigo que me acepte una cuenta de otra máquina

Gracias

_______
Franci



"Javier Loria" escribió en el mensaje
news:%
Hola Franci:
Si la aplicacion esta hecha en VB6, los usuarios son usuarios de
Windows, porque quieres usar la autenticacion de SQL?.
Lo pregunto porque MS "desrecomienda" el uso de la seguridad de SQL.
Por ejemplo los BOL dicen "La autenticación de SQL Server se


proporciona
por motivos de compatibilidad con versiones anteriores.".
Adicionalmente tiene problemas conocidos, como que en internet hay
software para desencriptar y obtener las claves de todos los usuarios,


como
que las claves pasan en texto legible por la red, como que no es posible
regular la cantidad de veces que un usuario se autentica, como que no es
posible regular el minimo del password, o cada cuando debe cambiarse la
clave, etc.
Mi experiencia es que la autenticacion de SQL, solo sirve para dar un
falso sentido de seguridad, porque pide usuario y clave. Si eso es lo que
quieres, puedes hace un formulario de login y cada 7/8 veces haces BIP y
mandas un messagebox con "Clave Incorrecta", los usuarios tranquilos y tu
aplicacion segura :)

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Franci escribio:
> Hola grupo,
>
> estoy realizando una aplicación vb6 contra SQL Server 2000, la
> aplicación es multiusuario. Utilizo autentificación de SQL Server. Al
> arrancar la aplicación pregunto por el nombre de usuario y su
> contraseña, que utilizo como inicio de sesión para acceder a la base
> de datos que utilizo.
>
> El problema es que un mismo usuario puede entrar con su inicio de
> sesión a través de la aplicación en dos máquinas distintas existentes
> en la red. ¿Hay alguna forma que SQL Server controle que sólo se
> pueda realizar un inicio de sesión para un usuario?
>
> Gracias de antemano
>
> Saludos
>
> _______
> Franci


Respuesta Responder a este mensaje
#5 Franci
15/11/2003 - 17:55 | Informe spam
Gracias Accotto,

pero no entiendo lo último, lo del if y el raiseerror, ¿esto donde lo
pondría?

Saludos

_______
Franci

"Accotto Maximiliano Damian" escribió
en el mensaje news:
Hola Franci!!! aca te mando un ej de como lo podrias hacer.

declare @contar int

set @contar = (select count(*) from sysprocesses where loginame


='sysadm')
select @contar


El tema es asi: En la tabla sysprocesses estan los datos de todos los
procesos ahi yo cuento si el usuario (sysadm) cuantos tiene (si tiene mas


q
0 es porque esta logeado)

y lo muestro en la varible @contar

luego con esa varible podrias hacer un if y raiseerror por ej.

Espero haber sido de utilidad.

Un saludo

Accotto Maximiliano Damian
Fundicion San Cayetano S.A.
Buenos Aires Argentina

Gerente de Sistemas y Tecnologia
()

"Franci" escribió en el mensaje
news:
> Hola grupo,
>
> estoy realizando una aplicación vb6 contra SQL Server 2000, la
> aplicación es multiusuario. Utilizo autentificación de SQL Server. Al
> arrancar la aplicación pregunto por el nombre de usuario y su


contraseña,
> que utilizo como inicio de sesión para acceder a la base de datos que
> utilizo.
>
> El problema es que un mismo usuario puede entrar con su inicio de
sesión
> a través de la aplicación en dos máquinas distintas existentes en la


red.
> ¿Hay alguna forma que SQL Server controle que sólo se pueda realizar un
> inicio de sesión para un usuario?
>
> Gracias de antemano
>
> Saludos
>
> _______
> Franci
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida