Cita:
Empezado por martini002
Saludos Amigos, donde quiera que se encuentren,
Desde hace varios dias vengo teniendo una duda
es posible asignarle a una BD de SQLite un nombre de usuario
y contraseña? asi como los permisos que agregamos en MySQL?
porque no quisiera que viniera otra persona copiara mi BD
y la abriera en un Manager de BD pudiendo sacar la informacion
que tengo alli almacenada, he estado buscando pero no he dado con la solucion
aun no.
Gracias infinitas.
|
Si hay maneras de hacerlo, Martini, y eso depende de habilidades e iniciativa personal, como todo.
Squlite tiene una capacidad muy especial de conectarse a varias bases de datos simultaneamente.
Con ello, puedes tener una base de datos que sea solo para passwords y que solo la aplicacion sepa donde se encuentra ubicada.
Puedes instalar tanto la base de datos principal, como la base de datos de passwords de manera que SOLO la aplicacion sepa sus nombres y ubicacion de archivos. La aplicacion controla el log-in, y solo abre la base de passwords por un breve instante, que es practicamente lo mismo que hacen las bases de datos con password (solo que esas usan una tabla de una misma base de datos).
Inclusive, por si no lo saben, ambos archivos pueden ser INVISIBLES, y ADEMAS, pueden adicionalmente camuflagearlos con cualquier nombre y apellido, pues a SQLite NO LE IMPORTA la extension del archivo.
Aparte de todo, como ya indico Roman, puedes agrupar a los usuarios de la base de datos con permiso para que solo ese grupo acceda a la base de datos, y/o TAMBIEN puedes agrupar y controlar el acceso a LA APLICACION.
En otras palabras, mediante la aplicacion puedes implementar un fuerte dispositivo de seguridad para que segun el grupo o grupos, unos puedan hacer unas cosas y otros no, y como usarias una base de datos aparte, para passwords, basicamente una tabla, en esa tabla puedes tener columna de PERMISOS o "roles", y hasta puedes hacer esto mas avanzado que lo que brindan para passwords otras bases de datos, pues controlas los 'roles' a tu manera.
A toda base de datos que no este encriptada se le pueden leer los datos, aunque tenga passwords.
SQLite no es encriptada de base, pero para SQlite hay drivers (independientes) que permiten el uso de basesdedatos de SQLite encriptadas. En general, yo no recomiendo la practica de encriptarlas, por varias razones, para la mayoria de los usos.
Tambien, aparte, a SQlite la puedes abrir de lugares remotos, y SI se puede usar como multiusuario, siempre y cuando no sea una aplicacion de acceso por cientos de clientes, y muchos de ellos requieran grabar datos simultaneamente.
Tambien a parte de tu pregunta: cuando quieras guardar el backup de la base de datos y passwords a un dispositivo externo (usb flashdrive por ejemplo), simplemente comprimelos con la opcion de password, usando 7-Zip. Si alguien obtiene el dispositivo, no podra leer ningun dato.