Hola:
Tengo una duda de como diseñar la parte de seguridad para una aplicación que
usa SQL Server.
Para un sistema que estamos construyendo es parte de los requerimientos de
alguna forma manejar usuarios y contraseñas de acceso al programa, donde
además los usuarios y contraseñas tienen que caducar cada cierto tiempo
configurable, y que cuando las contraseñas hayan caducado, el sistema le
pueda ofrecer al usuario cambiar la contraseña.
Este sistema hace uso de SQL Server 2000 para almacenar/recuperar los datos.
Los datos van a ser principalmente un registro (una especie de "log" ) de
operaciones llevadas a cabo por los usuarios. La aplicación va a correr en
un conjunto chico de PCs dedicados que usan un SQL server para acceder a los
datos.
Para todos los registros de la base de datos se tiene que tener el usuario
que ejecuto la operacion (el registro "registra" esa operación).
Como dije, los PCs son dedicados y no existe un servidor de dominio en la
red. Todas las máquinas tendrían Windows XP.
La duda me surge es cuál es la mejor forma de hacer este manejo de
usuarios/contraseñas tanto para el acceso al sistema como para la base de
datos. No tengo mucha experiencia en estas cosas, asì que agradezco su
ayuda.
Se me ocurren por ejemplo:
1) Que la autenticación al sistema sea a través del sistema operativo, que
el acceso a la base de datos sea un acceso "integrado" y que el manejo de la
caducidad de usuarios y contraseñas se haga en el servidor (Windows XP).
2) Que la autenticación al sistema se haga contra el SQL Server, que en SQL
Server se haga todo el manejo de usuarios/contraseñas. El tema de la
caducidad no sé como sería (no sé si se puede hacer ese control en SQL
Server).
3) Que todo el tema de usuarios/permisos/caducidad sea manejado por la
aplicación (lo que no implica que no sea almacenado en la base de datos) y
el acceso a la base de datos sea con un usuario y contraseña "hardcodeados"
(fijos para la aplicación).
Saludos,
Juan Carlos
Leer las respuestas