本文整理匯總了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