本文整理汇总了Python中privacyidea.lib.resolvers.LDAPIdResolver.IdResolver.create_connection方法的典型用法代码示例。如果您正苦于以下问题:Python IdResolver.create_connection方法的具体用法?Python IdResolver.create_connection怎么用?Python IdResolver.create_connection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类privacyidea.lib.resolvers.LDAPIdResolver.IdResolver
的用法示例。
在下文中一共展示了IdResolver.create_connection方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testconnection
# 需要导入模块: from privacyidea.lib.resolvers.LDAPIdResolver import IdResolver [as 别名]
# 或者: from privacyidea.lib.resolvers.LDAPIdResolver.IdResolver import create_connection [as 别名]
def testconnection(params):
"""
Test if the given filename exists.
:param params:
:return:
"""
success = False
ldap_uri = params.get("LDAPURI")
if is_true(params.get("TLS_VERIFY")) \
and (ldap_uri.lower().startswith("ldaps") or
params.get("START_TLS")):
tls_ca_file = params.get("TLS_CA_FILE") or DEFAULT_CA_FILE
tls_context = Tls(validate=ssl.CERT_REQUIRED,
version=ssl.PROTOCOL_TLSv1,
ca_certs_file=tls_ca_file)
else:
tls_context = None
try:
server_pool = IdResolver.get_serverpool(ldap_uri,
float(params.get(
"TIMEOUT", 5)),
tls_context=tls_context)
l = IdResolver.create_connection(authtype=\
params.get("AUTHTYPE",
AUTHTYPE.SIMPLE),
server=server_pool,
user=params.get("BINDDN"),
password=params.get("BINDPW"),
auto_referrals=not params.get(
"NOREFERRALS"),
start_tls=params.get("START_TLS", False))
if not l.bind():
raise Exception("Wrong credentials")
# search for users...
l.search(search_base=params["LDAPBASE"],
search_scope=ldap3.SUBTREE,
search_filter="(&" + params["SEARCHFILTER"] + ")",
attributes=[ params["HOSTNAMEATTRIBUTE"] ])
count = len([x for x in l.response if x.get("type") ==
"searchResEntry"])
desc = _("Your LDAP config seems to be OK, %i machine objects "
"found.")\
% count
l.unbind()
success = True
except Exception as e:
desc = "{0!r}".format(e)
return success, desc
示例2: _bind
# 需要导入模块: from privacyidea.lib.resolvers.LDAPIdResolver import IdResolver [as 别名]
# 或者: from privacyidea.lib.resolvers.LDAPIdResolver.IdResolver import create_connection [as 别名]
def _bind(self):
if not self.i_am_bound:
server_pool = IdResolver.get_serverpool(self.uri, self.timeout)
self.l = IdResolver.create_connection(authtype=self.authtype,
server=server_pool,
user=self.binddn,
password=self.bindpw,
auto_referrals=not
self.noreferrals)
self.l.open()
if not self.l.bind():
raise Exception("Wrong credentials")
self.i_am_bound = True
示例3: _bind
# 需要导入模块: from privacyidea.lib.resolvers.LDAPIdResolver import IdResolver [as 别名]
# 或者: from privacyidea.lib.resolvers.LDAPIdResolver.IdResolver import create_connection [as 别名]
def _bind(self):
if not self.i_am_bound:
server = ldap3.Server(self.server, port=self.port,
use_ssl=self.ssl,
connect_timeout=self.timeout)
self.l = IdResolver.create_connection(authtype=self.authtype,
server=server,
user=self.binddn,
password=self.bindpw,
auto_referrals=not
self.noreferrals)
self.l.open()
if not self.l.bind():
raise Exception("Wrong credentials")
self.i_am_bound = True
示例4: testconnection
# 需要导入模块: from privacyidea.lib.resolvers.LDAPIdResolver import IdResolver [as 别名]
# 或者: from privacyidea.lib.resolvers.LDAPIdResolver.IdResolver import create_connection [as 别名]
def testconnection(cls, params):
"""
Test if the given filename exists.
:param params:
:return:
"""
success = False
try:
(host, port, ssl) = IdResolver.split_uri(params.get("LDAPURI"))
server = ldap3.Server(host, port=port,
use_ssl=ssl,
connect_timeout=float(params.get("TIMEOUT",
5)))
l = IdResolver.create_connection(authtype=\
params.get("AUTHTYPE",
AUTHTYPE.SIMPLE),
server=server,
user=params.get("BINDDN"),
password=params.get("BINDPW"),
auto_referrals=not params.get(
"NOREFERRALS"))
l.open()
if not l.bind():
raise Exception("Wrong credentials")
# search for users...
l.search(search_base=params["LDAPBASE"],
search_scope=ldap3.SUBTREE,
search_filter="(&" + params["SEARCHFILTER"] + ")",
attributes=[ params["HOSTNAMEATTRIBUTE"] ])
count = len([x for x in l.response if x.get("type") ==
"searchResEntry"])
desc = _("Your LDAP config seems to be OK, %i machine objects "
"found.")\
% count
l.unbind()
success = True
except Exception as e:
desc = "%r" % e
return success, desc