Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/09/2011, 16:59
Avatar de saulortega
saulortega
 
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 12 años, 7 meses
Puntos: 0
Un mensaje diferente por cada fallo de autenticación

No supe qué otro título poner...

Tengo este código para autenticarme en un servidor LDAP:

Código PHP:
# -*- coding: cp1252 -*-

from Tkinter import *

ventana Tk()

#Empieza: Cubrir la pantalla completa
wventana.winfo_screenwidth(), ventana.winfo_screenheight()
ventana.overrideredirect(1)
ventana.geometry("%dx%d+0+0" % (wh))
#Termina: Cubrir la pantalla completa


#Empieza: Solicitar usuario y contraseña
label_usuarioinicial Label(ventanatext="Documento de identidad:")
usuarioinicial Entry(ventana)
label_claveinicial Label(ventanatext="Contraseña:")
claveinicial Entry(ventanashow="*")
     
label_usuarioinicial.pack()
usuarioinicial.pack()
label_claveinicial.pack()
claveinicial.pack()
     
usuarioinicial.focus_set()
#Termina: Solicitar usuario y contraseña


#Empieza: Conexión y autenticación LDAP
def autenticar():
    
import ldap
    
try:
        
l=ldap.initialize("ldap://12.34.56.78:389"#Realizar la conexión
        
l.protocol_version ldap.VERSION3 #Versión a utilizar
        
usuario="cn="+usuarioinicial.get()+",ou=Users,dc=dominio,dc=co"
        
clave=claveinicial.get()
        
l.simple_bind_s(usuarioclave#Validar usuario
        
print "¡CONECTADO!"
        
ventana.destroy() #Cerrar la ventana de bloqueo si la autenticación es correcta
        
l.unbind_s() #Cerrar la conexión
    
except ldap.INVALID_CREDENTIALS#Mostrar mensaje si no es válida la autenticación
        
print "Usuario o contraseña no válidos."
        
incorrecto Label(ventanawidth=60justify=LEFTwraplength=400text="\nEl documento de identidad o la contraseña no son correctos.")
        
incorrecto.pack()
    
except ldap.INVALID_DN_SYNTAX:
        print 
"Sintaxis incorrecta"
        
sintaxis Label(ventanawidth=60justify=LEFTwraplength=400text="\nCometió un error al escribir el documento de identidad. Por favor corríjalo.")
        
sintaxis.pack()
    
except ldap.LDAPErrore:
        print 
"Error desconocido: ",e
        otroerror 
Label(ventanawidth=60justify=LEFTwraplength=400text="\nHa ocurrido un problema de conexión.")
        
otroerror.pack()
#Termina: Conexión y autenticación LDAP


#Empieza: Definir botón y acción a realizar al pulsarlo
b1 Button(ventanatext="Iniciar"width=10command=autenticar)
b1.pack()
#Termina: Definir botón y acción a realizar al pulsarlo


ventana.mainloop() 
Cada vez que la autenticación es errónea, aparece el mensaje "El documento de identidad o la contraseña no son correctos." ¿Cómo hago para que en la segunda autenticación errónea aparezca un mensaje diferente?

Intenté jugar con variables que iban aumentando y con "if", pero no me funcionó...