Me pregunto si alguien tiene una solución elegante para buscar un vale de Kerberos válido usando Python. No estoy viendo de todos modos con kinit
o klist
que mostrará si un ticket está vencido con un código de retorno, pero podría ejecutar klist
y usar una expresión regular para la salida.python: validar el ticket de kerberos
6
A
Respuesta
3
Tiene dos opciones: la primera es usar 'klist -s' y verificar el código de retorno. La opción más agradable es utilizar el módulo python-krbV:
import krbV
def has_ticket():
'''
Checks to see if the user has a valid ticket.
'''
ctx = krbV.default_context()
cc = ctx.default_ccache()
try:
princ = cc.principal()
retval = True
except krbV.Krb5Error:
retval = False
return retval
4
Otra opción es comprobar el estado de salida de 'klist -s' parece más corto y no utiliza krbV:
import subprocess
def has_kerberos_ticket():
return True if subprocess.call(['klist', '-s']) == 0 else False
+1
Más sucintamente, 'return not no subprocess.call (['klist', '-s'])'? – scubbo
Cuestiones relacionadas
- 1. ¿Cómo validar un ticket Kerberos contra un servidor en Java?
- 2. Autenticación Kerberos con python
- 3. ¿Cómo obtener un ticket de servicio kerberos a través de GSS-API?
- 4. ¿Cómo recuperar la membresía del grupo desde un ticket de Kerberos?
- 5. Autenticación de Kerberos en PHP
- 6. Intentando descifrar un ticket de FormsAuthentication siempre que no puede validar los datos
- 7. Autenticación Tomcat utilizando SPNEGO/Kerberos y delegación
- 8. /Kerberos en Django
- 9. Validar los dicts en Python
- 10. Validar (X) HTML en Python
- 11. Validar un nombre de archivo en python
- 12. WCF and Kerberos Authentication
- 13. Conexión Kerberos utilizando el cliente HTTP
- 14. autenticación de Android con Kerberos
- 15. Autenticación Kerberos en Rails
- 16. Renovar manualmente el ticket de autenticación de formularios:
- 17. ¿Es seguro el ticket de autenticación de formularios?
- 18. Autenticación de Kerberos en Apache
- 19. SPNEGO (generación/validación de token de kerberos) para SSO con Python
- 20. Calcular/validar bz2 (bzip2) CRC32 en Python
- 21. Validar un jid XMPP con python?
- 22. Kerberos - ejemplos del mundo real?
- 23. Cambiar la visualización del ticket en Trac
- 24. Cómo borrar programáticamente el caché de vale Kerberos
- 25. Validar el IVA europeo
- 26. autenticación de Windows: negociar, ntlm y kerberos
- 27. ¿Pueden 2 subprocesos Java autenticarse como dos usuarios diferentes de Kerberos (en el mismo proceso)?
- 28. Boleto de servicio CAS validar fallido
- 29. ¿Cómo validar los "caracteres de palabra" unicode en Python regex?
- 30. Suma de comprobación fallida: Kerberos/Spring/Active Directory (2008)
Tenga en cuenta que estos no son equivalente: klist -s también sale de cero si hay un ccache con un TGT, pero el TGT ha expirado. El código krbV anterior no verifica si el ticket ha expirado; solo que hay un caché en absoluto (leyendo el principal predeterminado de él). Y, el OP específicamente preguntó sobre la expiración del boleto. –
¿Qué tal para Python 3? krbV no parece funcionar. – dmranck
Uno, no compila. Dos, no responde la pregunta. No tiene información sobre si el ticket expiró o no. Aprenda a escribir las respuestas que realmente respondan la pregunta, en lugar de arrojar basura al azar. –