Login-Delphi
Buenas a todos se que pregunto mucho pero es que quiero aprender, estoy trabajando con un programita y se me ocurrio crear un login pero no se como hacer que el programa haga la relacion usuario, contraseña en la base de datos (uso Sql server 2000) y quiero dar prioridades a usarios por ejemplo si entra Usuario: Admin, Pass: bacalao se activen o desactiven algunas propiedades de los forms.
En si es como un control de usuario para dar restrinciones a ciertos usuarios. si alguien sabe como hacerlo que me esplique como o que me envie un pequeño ejemplo a mi correo thewolf04@gmail.com. Gracias por anticipado .....:):confused: |
|
Gracias
Lo voya chequear a ver si me sirve muchas gracias cualqueir cosa te escrivo ok??¿??:D
|
Hola TKW04...
Agradeceríamos que cualquier otra duda que tengas sobre tu mismo problema la plasmes en este mismo hilo y no le mandes privados a Caral o cualquier otro que te conteste. Esto es por que lo que se te responda en este hilo le podría servir a alguien más para resolver un problema igual o similar... Saludos... |
No entiendo
Caral No he podido noner en marcha tu programa pero eh estdo viendo los forms y no ve ninguna que sea para login son todos de control de nomina.....:confused:
|
|
perdon
Tengo que ser burro pero No entiendo en ese link que me diste es para la fabricacion de un sistema de facturacion... perdona per no tendras algo que simplemente me diga como hacer el login........por que es que realmente estoy desorientdo:confused:
|
Hola
Este es un login: Tabla, Usuarios. Campos: CodUsuario, texto(15) Nombre, Texto(50) Clave, Texto(50) revisa el archivo zip. Pero de todos modos lo voy a poner en ese link, ya que es una aplicacion completa. Saludos |
Gracias
Gracias..........disculpa tantas molestias....cualquier cosa que no entienda te puedo preguntar..__??:confused:
|
Con respecto a lo de autenticar un usuario lo podes hacer con un código similar a este:
con respecto a determinar los privilegios de los usuarios consulta este hilo escrito hace poco. http://www.clubdelphi.com/foros/showthread.php?t=47004 ojala te sirva mi ayuda. |
Hola
No hay problema, por supuesto, con gusto. Saludos |
par aque se usa
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls; |
Cita:
cada nombre (separado por coma) se les llama unidades. Las unidades contienen codigo ya escrito por otras personas, código que te ayudará en mucho a crear tus programas y evitar que reinventes la rueda. Si hace click sobre el nombre de una unidad manteniendo la tecla CTRL presionada, delphi te abrirá esa unidad en una nueva pestaña, ahí podrás ver las miles de lineas que te nos han ahorrado la gente de borland. |
ok
es como si fueran clases??:confused:
|
mmm D&W
Nome sale el .findkey
|
Adoquery
Ya lo tengo programado Nitido Gracias caral pero una cosa ahora me dice todo el tiempo que el usuario no existe, en el ejemplo que me posteaste ahi un parametro llamado nom, y en el sql tienes escrito Codigousario=nom........ cuando lo igualo de la misma forma me dice qeu la columna no existe.... por que??? que debo hacer para solucionar esto gracias......
|
Hola
Este es el sql del adquery: Y este es el que lee el parametro: No entiendo donde esta el problema, esto: Cita:
Saludos |
¿No es?
CodigoUsuario=:Nom |
Problema
SELECT CodUsuario, Nombre, Clave FROM Usuarios WHERE
CodUsuario = nom que es el nom en esa sentencia por que cuando la pongo asi es decir claro la mia se ve asi SELECT Codigo, Nombre, pass FROM USUARIOS WHERE Codigo = nom me dice invalid columm name 'nom' |
Hola
nom es un parametro y se busca asi: Aqui el parametro nom esta siendo analizado o comparado a EUsuario.Text No le veo el problema. Esto no lo entiendo: Cita:
Saludos |
dice
el adoquery si lo pongo active me dice eso
por eso es que no se que hacer...... te mando mi codigo para lo veas .... el el form.... :confused: |
esta duda va para caral: hice este login para mi aplicacion de acuerdo a tus sugerencia y me ha quedado asi:
pero me sale el siguiente error al clickear el boton: Cita:
saludos... |
Hola
Si se llama al login desde el form principal, hay que ir a projects, option y pasar al form login a available forms. Si es el primer form, hay que colocarlo en main form. Con esto ya se elimina el problema. Saludos |
Caral, precisamente lo tengo asi, el login en forma alvailable y el main en auto-create form y el error persiste todavia :confused::confused::confused:
|
Hola
Te as fijado que en uses del login este el datamodule? No va a tener conexion si no lo incluye. Revisalo, no se me ocurre nada. Saludos |
efectivamente esta incluido en el uses del form
|
Hola
Este es el codigo del login: En projets, el login esta en main form. Me dejas mal parado, no entiendo el problema. Saludos |
Cita:
Alguien mal intencionado podría utilizar la API GetWindowText(Edit1.Handle, Buffer); para obtener la clave del TEdit, lo que significa que PasswordChar no oculta completamente la contraseña. Por lo que aconsejo utilizar un código parecido a éste:
Lo que le da un nivel mayor a la seguridad de la aplicación. Es muy importante tambien NO realizar comparaciones directas con la clave; alguien puede lograr abrir la BD y ver las contraseñas. Lo óptimo es siempre encriptarla o en su defecto se puede sacar la CRC o Hash de la contraseña y guardar ése valor en ves de la contraseña como tal. Saludos. |
caral, resolvi el problema del error en vez poner en connection en la propiedad del adoquery el form donde esta la base de datos que es un datamodule lo conecte directamente a la base de dato a traves del connectionstring, pero ahora sucede otro problema, al poner el user y el pass le doy click al boton y lo que hace es que me limpia los edits, al no poner una clave o una clave erronea la clave real me aparece en el edit de user... que puede estar pasando?:confused::confused::confused: y gracias po tu tiempo caral..
saludos.. |
Hola
Que dificil, ni idea. Coloca el codigo, a ver que esta pasando. Saludos |
Aqui esta el codigo Caral:
|
Hola
Cual es el codigo del sql strimgs del query? Lo pone para verlo? Lo que necesito es ver la relacion. Saludos |
|
Hola
Acabo de probar tu codigo tal cual lo pusiste y me funciona perfectamente. hay que tener en cuenta que segun los parametros que pusiste va asi: username = EUsuario.Text pass = EClave.Text Dale click a parameters del query en Value ponle 0 Dale doble click al query, raton derecho, add, y coloca todos los campos en la pantallita. Tiene que funcionar, a mi me funciona. Saludos |
ok Caral ahora mismo ire a probar...luego te comento
|
Hola Caral, ya resolvi el problema!!!, gracias a ti por tu tiempo, tuve que hacer un pequeñito cambio, originalmente esta parte del codigo era asi:
ahora lo puse asi:
en este cambio le elimine el try...finally, el free y el showmodal porque solo funciona solo si el form a llamar es fsNormal pero el mio es tipo MDIform por eso que al digitar la clave se quedaba en el login y se limpiaban los edits. ahora tengo este otro problemita que persiste y es cuando se digita una clave erronea la clave aparece en el edit de usuarios.. saludos. |
Bueno ya resolvi el ultimo problema que era muy sencillo lo puse asi:
de Nuevo gracias caral por tu tiempo, te lo agradezco, que dios te bendiga. ah y otra cosita, donde defino los privilegios? en el login o en el main?. Saludos... |
Hola de nuevo, continuando con el mismo hilo, quisiera saber como defino los privilegios de los usuarios? ejemplo:
la tabla de usuario contiene esos campos tipo "Yes/No" que son los botones y menus a restringir el acceso: backup findped findtra instra insped settings reports findsupli inssupli stats con el mismo codigo del login como defino los accesos por ejemplo: si se loguea pedro y el tiene estos privilegios: backup->No findped->Yes findtra->Yes instra->Yes insped->Yes settings->No reports->Yes findsupli->Yes inssupli->Yes stats->No al momento de pedro loguearse los menus y botones correspondientes se pongan false o true dependiendo del Yes o No. quise hacerlo asi pero no me funciona:
|
Hola
Te voy a explicar como lo hago yo: Creo un campo (permiso) este campo es numerico, defino los permisos en base a la numeracion, 1, 2, 3 1= acceso a todo 2= acceso a x parte o botones 3= acceso a otros botones asi se pueden tener tantos accesos o permisos como se quiera. Agrego el campo a la tabla, esta quedara en tercer lugar, 0-1-2-3 el codigo que uso es este: Lo reconoceras, facilmente: espero te sirva. Saludos |
Gracias Caral ahora mismo intentare implementarlo, luego te comento. Gracias.
|
La franja horaria es GMT +2. Ahora son las 03:44:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi