Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-08-2008
Avatar de DJerez
DJerez DJerez is offline
Miembro
 
Registrado: Aug 2008
Posts: 12
Poder: 0
DJerez Va por buen camino
Login para aplicación.

Buenas a todos los Delphineros... (Ahora será Tiburoneros?)
(Uso Delphi 7)

Mi consulta de principiante en el tema es la siguiente.

Tengo un formulario que se encarga de cargar datos en una tabla Paradox.

El tema es que necesito que solamente se pueda acceder al programa con una contraseña.

Podrían darme una idea?
Alguien me puede ayudar con eso?
O darme una pista de donde encuentro documentación al respecto?

Es lo último que necesito para terminar el proyecto.

Muchas graciassssamigos!

Saludos.
__________________
"Cada minuto que pasa es una oportunidad más para cambiarlo todo."
Responder Con Cita
  #2  
Antiguo 02-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: Jul 2004
Ubicación: Salta, Argentina
Posts: 5.598
Poder: 20
Delphius Va camino a la fama
hola DJerez,
Este tema ha sido muy tratado. Por favor, usa el buscador de los foros. Encontrarás buen material. Prueba con palabras claves como login, contraseña, password, usuarios, etc.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 02-08-2008
Avatar de DJerez
DJerez DJerez is offline
Miembro
 
Registrado: Aug 2008
Posts: 12
Poder: 0
DJerez Va por buen camino
Mmm.

Si, lo intenté desde el buscador de acá y googleando, pero no encontré nada específico referido a lo que busco. Y quiero terminar rápido, como dije antes es lo único que me falta.

Ya veré como lo resuelvo...

Gracias de todas formas.

Saludos.
__________________
"Cada minuto que pasa es una oportunidad más para cambiarlo todo."
Responder Con Cita
  #4  
Antiguo 02-08-2008
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.423
Poder: 19
egostar Va por buen camino
Cita:
Empezado por DJerez Ver Mensaje
Si, lo intenté desde el buscador de acá y googleando, pero no encontré nada específico referido a lo que busco. Y quiero terminar rápido, como dije antes es lo único que me falta.

Ya veré como lo resuelvo...

Gracias de todas formas.

Saludos.
En serio buscaste apropiadamente???

Incluso en la parte baja de este hilo hay uno con lo que buscas

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 02-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: Jul 2004
Ubicación: Salta, Argentina
Posts: 5.598
Poder: 20
Delphius Va camino a la fama
Cita:
Empezado por DJerez Ver Mensaje
Si, lo intenté desde el buscador de acá y googleando, pero no encontré nada específico referido a lo que busco. Y quiero terminar rápido, como dije antes es lo único que me falta.

Ya veré como lo resuelvo...

Gracias de todas formas.

Saludos.
DJerez, por si no has leido la guia de estilo, te invito a leerla; sobre todo sabiendo que eres nuevo. Por favor respeta la guia de estilo. Aqui los asuntos no se piden con urgencia.

Te agradecería nos menos indicaras realmente cual es tu problema. Al decirnos que "no es lo que buscas" no solucionamos nada.

Si no expliras mejor tu situación te podríamos ser de ayuda.

Hice una búsqueda y encontré bastantes resultados, algunos de muestras por si deseas saber:

http://www.clubdelphi.com/foros/show...o+contrase%F1a
http://www.clubdelphi.com/foros/show...o+contrase%F1a
http://www.clubdelphi.com/foros/show...o+contrase%F1a
http://www.clubdelphi.com/foros/show...o+contrase%F1a
http://www.clubdelphi.com/foros/show...o+contrase%F1a

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 02-08-2008
Avatar de DJerez
DJerez DJerez is offline
Miembro
 
Registrado: Aug 2008
Posts: 12
Poder: 0
DJerez Va por buen camino
Gracias!!

"Te pedimos especialmente que colabores en este punto. Para los que ya somos veteranos en el club NOS RESULTA MOLESTO responder la MISMA PREGUNTA una y otra vez, esto CANSA y terminas por NO responder a estas preguntas."


Eso explica mucho el tono de fastidio con el que me respondiste. No es de mala onda que lo digo, ya el hecho que te hayas dignado a responder es un gesto y lo aprecio.

Gracias por los vínculos que me pasaste, no encajaban exactamente con lo que buscaba pero revisando links, dentro de links y de otros links (La mayoría tenían la misma respuesta: "Ya se habló mucho de este tema, usá el buscador...") llegué a un par que me tiraban una idea de como empezar, casualmente los que respondían sin problemas eran novatos... o sea... no estaban fastidiados jajaja... o sea... se acordaban que en algún momento no sabían por donde empezar y todos les decían "Usá el buscador..." y cuando encontraron la respuesta fueron gentiles, recordaron su experiencia pasada y respondieron a otros novatos como ellos sin problemas.


Ahora, voy a revisar lo que encontré y si me sirve lo posteo acá como finalización de la consulta.

Saludos.


Muchísimas gracias!!!




PD:

Gracias por los consejos.
__________________
"Cada minuto que pasa es una oportunidad más para cambiarlo todo."
Responder Con Cita
  #7  
Antiguo 02-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: Jul 2004
Ubicación: Salta, Argentina
Posts: 5.598
Poder: 20
Delphius Va camino a la fama
Cita:
Empezado por DJerez Ver Mensaje
"Te pedimos especialmente que colabores en este punto. Para los que ya somos veteranos en el club NOS RESULTA MOLESTO responder la MISMA PREGUNTA una y otra vez, esto CANSA y terminas por NO responder a estas preguntas."


Eso explica mucho el tono de fastidio con el que me respondiste. No es de mala onda que lo digo, ya el hecho que te hayas dignado a responder es un gesto y lo aprecio.

Gracias por los vínculos que me pasaste, no encajaban exactamente con lo que buscaba pero revisando links, dentro de links y de otros links (La mayoría tenían la misma respuesta: "Ya se habló mucho de este tema, usá el buscador...") llegué a un par que me tiraban una idea de como empezar, casualmente los que respondían sin problemas eran novatos... o sea... no estaban fastidiados jajaja... o sea... se acordaban que en algún momento no sabían por donde empezar y todos les decían "Usá el buscador..." y cuando encontraron la respuesta fueron gentiles, recordaron su experiencia pasada y respondieron a otros novatos como ellos sin problemas.


Ahora, voy a revisar lo que encontré y si me sirve lo posteo acá como finalización de la consulta.

Saludos.


Muchísimas gracias!!!




PD:

Gracias por los consejos.
DJerez si vas a empezar a decir mentiras mejor no digas nada, porque en ningún momento he dicho lo que subrayas con negrita.

Si te he dicho que el tema está tratado es porque es un tema recurrente. Y si decimos que por favor usen el buscador es para que:
1. No decir ya lo dicho
2. evitar aumentar hilos sobre el mismo tema y que terminan siendo redundantes y sobrecargando el servidor.

¿Cómo que no te sirven? Te he pedido amablemente que explicaras tu situación. Si es tan particular tu caso, se puede analizar. Si tu no tienes la intención de explicarte entonces, no podemos asesorarte.

Te voy a pedir amablemente que reconsideres tu postura y que por favor respetes la guia de estilo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 02-08-2008
Avatar de DJerez
DJerez DJerez is offline
Miembro
 
Registrado: Aug 2008
Posts: 12
Poder: 0
DJerez Va por buen camino
Solucionado.

Delphius: No miento, en ningún momento dije que vos dijeras eso... como recomendás tanto leer la guía de estilo, pensé que sabrías a que me refería a uno de sus puntos= ·Búsquedas·. Citándote eso era una forma de decirte que te en-tien-do, ok?
Me parece una lástima andar como chicos discutiendo malos entendidos, voy a evitar de ahora en más dar bola a este tipo de pérdidas de tiempo.
Si te fijás hay un par de "jajaja" y un par de ""... O sea... no va con mala onda el mensaje, me parece ridículo pensar que alguien va a registrarse en un foro de programación para andar peleando.

Si te sentiste ofendido: Mis disculpas.
Pero aclaro: No tengo mala leche, ni mi intención era molestar a nadie.



Bueno, al tema real en cuestión:
Encontré otra solución (menos elegante, pero más rápida) a mi problema de crear un login.

De todas formas voy a seguir investigando el tema.

Esto es lo que hago:

En el formulario principal.
Código:
Login := TLogin.Create(Self);
Try
Login.ShowModal;
Finally
Login.Free;
Y en el botón OK del logeo.
Código:
     if Clave.Text = 'noteenojes'  then
     begin
ShellExecute(Handle, 'open', 'Ruta\Administracion.exe', '-p1 -p2', nil, SW_SHOWNORMAL)
      end
      Else
     Application.Terminate;

      Close;


Estoy completamente consciente que no es el modo más elegante de hacerlo, ya que lo único que hago es que cuando valide el texto del Edit usando ShellApi abra la aplicación principal y si no que cierre todo.
Por el momento me salva...

Lo único que no logro es que cuando valida la clave y se cierra el login y aparece el form principal, no vuelva a aparecer el login otra vez...
Ya que se crea otra vez al iniciar el form principal.

Pero seguro la respuesta está ahí afuera.

Muchas gracias por los links y los consejos. (No es en tono irónico) Me sirvieron como referencia y como lección para consultas futuras.

Saludos.
__________________
"Cada minuto que pasa es una oportunidad más para cambiarlo todo."
Responder Con Cita
  #9  
Antiguo 03-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: Jul 2004
Ubicación: Salta, Argentina
Posts: 5.598
Poder: 20
Delphius Va camino a la fama
A ver si comprendo.

¿Tienes dos aplicativos? Uno para el logueo y otro que se llama Adminsitración.exe? Porque eso es lo que comprendo al ver tu código

Si me pudieras aclarar ese puntito podría saber por donde van los tiros.

El llamado a una ventana Login se procede asi, en eso está bien. Una vez que se muestra, y se valida se cierra (y en ciertos casos, destruir).

Para evitar que en futuras ocasiones siga mostrando dicha ventana debes llevar un condicional. De manera simple en algo como esto:

if NOT VerificarQueAntesSeLogueo
then MostrarVentanaLogin

El tema está en que debes guardar en algun archivo (algún ini posiblemente), en el registro de Windows, base de datos... etc algun valor que te sirva de "bandera" y que puedas recuperar al ejecutar la aplicación.

El algoritmo básico es:
1. Inicialmente, en la primera ejecución, el valor para esta "bandera" será establecido para determinar que nunca se logueo.
2. Leer dicha bandera (desde un archivo, etc)
3. Si bandera la bandera no está presente... se muestra el form de login, en otro caso continua con lo necesario.
4. La ventana de login, al momento de validar, cambia el valor de dicha "bandera" por el negado. De este modo cuando se vuelva a ejecutar el programa leerá otro valor y por tanto no mostrará el form.

Dejame decirte que me resulta extraño ese comportamiento, ya que se espera por lo general que cada vez que se ejecute la aplicación se pida la clave o contraseña.

Y por cierto, lo mejor sería que implementes un algoritmo más seguro para la clave. Lo más adecuado sería guardarla en algún lugar encriptada.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 03-08-2008
Avatar de DJerez
DJerez DJerez is offline
Miembro
 
Registrado: Aug 2008
Posts: 12
Poder: 0
DJerez Va por buen camino
Smile Extraño comportamiento...

Delphius:
El validador de claves es otro form dentro del mismo proyecto.

Cita:
"Dejame decirte que me resulta extraño ese comportamiento, ya que se espera por lo general que cada vez que se ejecute la aplicación se pida la clave o contraseña."
Si te referís a que cuando le doy la clave y la valida no hace el loop de abrirse la ventana de login otra vez, sin permitirme ver la principal... si es extraño. Pero lo que hace es que cuando valida la clave me abre la ventana del prograna principal y detrás se abre otra vez el login

1-Ejecutas la aplicación y solo ves el login.
2-Si pones una clave no válida o en blanco se cierra todo.
3-Si la clave es válida, permite ver el formulario "Administración".
4-Una vez que te muestra "Administración", inmediatamente se vuelve a abrir el login.
5-El hecho que me muestre el login otra vez no implica que no pueda trabajar con el formulario principal.


Voy a investigar la idea que me das y si... lo que proponés sería más seguro.

Muchas gracias por la ayuda!

Saludos.
__________________
"Cada minuto que pasa es una oportunidad más para cambiarlo todo."
Responder Con Cita
  #11  
Antiguo 03-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: Aug 2006
Posts: 7.659
Poder: 20
Caral Va por buen camino
Hola
Me parece, si no entiendo mal, que la clave esta en el programa.
Si es asi, no me parece una buena alternativa.
Por que no poner la clave en una base de datos y encriptarla en tal caso.
Yo lo que hago es abrir el form principal y en este llamar al loguin, si la clave es correcta se visualiza el form principal, de lo contrario se cierra todo, ah, la clave la mantengo en la base de datos.
Saludos
Responder Con Cita
  #12  
Antiguo 03-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: Jul 2004
Ubicación: Salta, Argentina
Posts: 5.598
Poder: 20
Delphius Va camino a la fama
Hola, a mi lo que me sigue intrigado es el porque ese motivo de lanzar un exe.

Si se trata de mostrar una form... ¿para que ese Shellexecute?
Me parece que te estas mareando en un vaso de agua. Hay cosas que no me termino de explicar ese comportamiento.

Por favor muestranos el código como lo tienes.

He armado un ejemplo ultra simple de un login. El usuario es "usuario", y la clave es "clave". Si te fijas, una vez que se ingresa, guardo en una variable bandera de que el usuario ha sido validado. Dependiendo de este valor se muestra el form de logueo o no.

En la sección FTP del club hay un ejemplo un tanto más complicado.

Me gustaria que nos detalles explícitamente como estas mostrando tus forms. ¿Usas Show? ¿liberas la memoria una vez que las creas?

Saludos,
Archivos Adjuntos
Tipo de Archivo: zip DJerez.zip (3,1 KB, 15 visitas)
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #13  
Antiguo 03-08-2008
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: Nov 2006
Posts: 128
Poder: 12
Black_Ocean Va por buen camino
Hola [Delphius], sólo le quería avisar de que al parecer olvidó incluir el archivo Unit1.dfm en el zip, que corresponde al formulario de la Unit1.pas, por lo que, el usuario que preguntó no podrá compilar ni tampoco testear el ejemplo que usted ha puesto aquí.

Saludos.

Última edición por Black_Ocean fecha: 03-08-2008 a las 11:08:10.
Responder Con Cita
  #14  
Antiguo 03-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: Jul 2004
Ubicación: Salta, Argentina
Posts: 5.598
Poder: 20
Delphius Va camino a la fama
Cita:
Empezado por Black_Ocean Ver Mensaje
Hola [Delphius], sólo le quería avisar de que al parecer olvidó incluir el archivo Unit1.dfm en el zip, que corresponde al formulario de la Unit1.pas, por lo que, el usuario que preguntó no podrá compilar ni tampoco testear el ejemplo que usted ha puesto aquí.

Saludos.
Muchas gracias por avisar.
Aqui adjunto el archivo que falta. Disculpen.

Saludos,
Archivos Adjuntos
Tipo de Archivo: zip Unit1.zip (524 Bytes, 8 visitas)
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #15  
Antiguo 03-08-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: May 2003
Posts: 7.424
Poder: 23
Lepe Va por buen camino
¿No tendrás la ventana de login en autocreate Forms? (en delphi, Project -> Options, debes quitarlo de la lista de autocreate y pasarlo a "available forms'.

Apunto este detalle porque dices que se muestra 2 veces (una la creas tú con Login := TLogin.Create(Self) y la otra la crea delphi porque está en formularios autocreados).

Yo el login lo haría así:
Código Delphi [-]
var salir:boolean;
begin

Login := TLogin.Create(Self);
Try
 if Login.ShowModal = mrcancel then
   salir := true;
Finally
Login.Free;
if salir then 
  Application.Terminate
else
  ShellExecute('administracion.exe'.....)

Como se suele decir: "cada cosa para su cosa".

La ventana de login: Cuando el usuario pulsa aceptar y validas la contraseña, deberías asignar la propiedad ModalResult de dicha ventana:
Código Delphi [-]
procedure Tlogin.BotonOkClick(...);
begin
 if  constasena = 'noteenojes' then
   ModalResult := mrOk
 else
  ModalResult := mrcancel
end;

La aplicación principal: muestra la ventana de login y según el resultado termina la aplicación o bien ejecuta la administracion.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #16  
Antiguo 04-08-2008
Avatar de 2-D@monic
2-D@monic 2-D@monic is offline
Miembro
 
Registrado: May 2007
Posts: 94
Poder: 12
2-D@monic Va por buen camino
pregunta

Cita:
Empezado por Caral Ver Mensaje
Hola
Me parece, si no entiendo mal, que la clave esta en el programa.
Si es asi, no me parece una buena alternativa.
Por que no poner la clave en una base de datos y encriptarla en tal caso.
Yo lo que hago es abrir el form principal y en este llamar al loguin, si la clave es correcta se visualiza el form principal, de lo contrario se cierra todo, ah, la clave la mantengo en la base de datos.
Saludos
Una pregunta acerca del login............ para almacenar las contraseñas, utilizas una tabla en donde almacenes el id y el password? o utilizas los login's en entrada al manejador (o sea creas usuarios en el manejador dándoles roles).
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido.
Responder Con Cita
  #17  
Antiguo 05-08-2008
Avatar de DJerez
DJerez DJerez is offline
Miembro
 
Registrado: Aug 2008
Posts: 12
Poder: 0
DJerez Va por buen camino
Súper gracias!

Ante todo gracias por la paciencia y la atención dispensada, es lo mejorcito que he encontrado en foros y las ayudas sobran, cosa que no veo mucho en otros (No me refiero a los de programación solamente). Y gracias por ayudar a un novato en programación a aprender un poco más.

Delphius:

Acabo de bajar el (Los).zip del ejemplo de login, lo probé y me resulta interesante la idea y mucho más práctica que la de abrir el .exe con el propio... .exe (), respecto al código no lo miré con detenimiento pero algo que no tomé en cuenta antes es esto:

Código:
  inc(intento);
  ...
  if (intento = 5)
     then Application.Terminate;
O sea, terminar la aplicación en "x" intentos fallidos.
Absolutamente mucho mejor de lo que estaba intentando.

Gracias.

[Lepe]:

Probé la idea que das del login me funcionó sin problemas... pero:
Cuál es el problema con esta opción que es la que implemento ahora?
(Si bien el login no aparece más al validar la clave...)

Si ingreso la clave, ingreso al programa, si la dejo en blanco o me equivoco, cierra todo... pero que pasa si presiono ALT+F4? Catrina de chanes!!! Se cierra SOLO el login y me abre la aplicación principal!
Intenté probando las soluciones de que no se permita usar ALT+F4 durante la ejecución de la aplicación, pero no logro hacerla funcionar a esa solución, pero eso está fuera de este tópico.

Gracias.

[Caral]
:

Si, precisamente, la pass está en el programa. Y la idea de volcarla en una base de datos y encriptarla hace que sea más seguro. Algo que no tomo en cuenta para la aplicación que estoy haciendo ya que no requiere demasiada seguridad, solo restringir el acceso con Clave (Ni siquiera usuario) a la aplicación Administración. De todas formas voy a leer al respecto.

Gracias.

//***********************************************
En conclusión:
El tema de que el tópico está bastante hablado (Debo darle la razón a Delphius) es cierto, el tema es que no encontré algo paso a paso como para darme cuenta en donde meter un código y en donde meter el otro (O mi capacidad mental no está a pleno). Ahora que estuve viéndolo directamente en el Delphi, puedo comprenderlo más.
Estoy más que agradecido por las ideas y la ayuda de todos, hasta la de Black_Ocean, que me evitó un post reclamando la Unit1 del proyecto de Delphius!

Voy a volcarme a trabajar con la opción de Delphius, me evita el dolorcito de ojos frente al monitor viendo como lidiar con el ALT+F4... como siempre, seguro debe ser una tontera.

GRACIAS

Saludos.
__________________
"Cada minuto que pasa es una oportunidad más para cambiarlo todo."
Responder Con Cita
  #18  
Antiguo 05-08-2008
cjmatador cjmatador is offline
Miembro
 
Registrado: Jan 2008
Ubicación: La Paz Bolivia
Posts: 24
Poder: 0
cjmatador Va por buen camino
djerez

yo te recomiendo que si es uno de tus primeros programas en delphi
crees primero el form que te pide el login y password y luego añadas el form principal, yo tenia los mismos problemas al inicio pero de a poco los iras resolviendo, no desesperes.

En cuanto a delphius amigo paciencia con djerez, creo que no tengo muchos posts en el foro pero leo con mucha atencion todas las ayudas que ya se encuentran en algun foro y generalmente con ellas resuelvo mis dificultades, y en la gran mayoria tus posts me ayudaron mucho saludos sigue adelante.

UN DICHO

CON PACIENCIA Y SALIVITA, UN ELEFANTE SE TIRA UNA HORMIGUITA.

SALUDOS.

PD. TIRA=F.O.L.L.A.R.
SIN MALA HONDA NI FALTAR EL RESPETO A NADIE
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
login y logout para base de datos _CALI Conexión con bases de datos 1 22-04-2008 16:23:03
Login para PHP doradose PHP 2 18-01-2008 21:18:11
Aplicación MDI con LOGIN ( problema ) BlackDaemon OOP 15 07-03-2007 05:45:53
Ayuda Con Ventana Para Login!!! jugomez MS SQL Server 5 23-10-2006 17:22:29
Aplicacion Antes Del Login De Windows omardelahoz Varios 2 22-06-2004 16:29:48


La franja horaria es GMT +2. Ahora son las 16:00:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi