Jos*_*ua 8 python linux kerberos
我想知道 - 如果有人有一个优雅的解决方案来检查使用Python的有效Kerberos票证.无论如何我都没有看到kinit或者klist显示一个票证是否已过期并返回代码,但我可以运行klist并使用正则表达式输出.
小智 7
另一种选择是检查'klist -s'的退出状态看起来更短并且不使用krbV:
import subprocess
def has_kerberos_ticket():
return True if subprocess.call(['klist', '-s']) == 0 else False
Run Code Online (Sandbox Code Playgroud)
您有两个选择:第一个是使用“klist -s”并检查返回代码。更好的选择是使用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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6128 次 |
| 最近记录: |