您好我使用python函数如下获取kerberos令牌
def get_token(server):
service = gssapi.Name("HTTP@%s" % server, gssapi.NameType.hostbased_service)
ctx = gssapi.SecurityContext(name=service, usage="initiate")
attempts = 0
while True:
try:
print("before")
token = ctx.step()
print("after")
break
except Exception as e:
attempts += 1
print(attempts)
if attempts < MAX_TOKEN_ATTEMPTS:
logger.debug("exception while getting Kerberos token, trying again", exc_info=e)
else:
raise OSError("too many failures while getting Kerberos token, discarding request") from e
b64token = base64.b64encode(token)
return b64token
该功能给出了预期的结果。但问题是,在我的一台机器中,步骤&#34; token = ctx.step()&#34;完成时间超过5秒。在我的其他机器中,它的使用时间不到2秒。
有任何想法重新考虑延迟的原因吗?
- 我尝试使用IP地址以及FQDN作为主要功能的参数。一切都一样。 从我的所有机器到服务器需要相同的时间。
我的环境:
Python 3.5.2
Ubuntu 16.04