当前位置: 首页>>代码示例>>Python>>正文


Python ldap.RES_SEARCH_ENTRY属性代码示例

本文整理汇总了Python中ldap.RES_SEARCH_ENTRY属性的典型用法代码示例。如果您正苦于以下问题:Python ldap.RES_SEARCH_ENTRY属性的具体用法?Python ldap.RES_SEARCH_ENTRY怎么用?Python ldap.RES_SEARCH_ENTRY使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在ldap的用法示例。


在下文中一共展示了ldap.RES_SEARCH_ENTRY属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __ldap_getgid

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def __ldap_getgid(self, cn="员工"):
        """
        查询 组cn对应的gid
        :param cn: 组cn
        :return: 对应cn的gidNumber
        """
        obj = self.ldapconn
        obj.protocal_version = ldap.VERSION3
        searchScope = ldap.SCOPE_SUBTREE
        retrieveAttributes = None
        searchFilter = "cn=" + cn
        try:
            ldap_result_id = obj.search(
                base="%s" % self.base_dn,
                scope=searchScope,
                filterstr=searchFilter,
                attrlist=retrieveAttributes
            )
            result_type, result_data = obj.result(ldap_result_id, 0)
            if result_type == ldap.RES_SEARCH_ENTRY:
                return result_data[0][1].get('gidNumber')[0]
            else:
                return None
        except ldap.LDAPError as e:
            logger.error('获取gid失败,原因为: %s' % str(e)) 
开发者ID:getway,项目名称:diting,代码行数:27,代码来源:ldapadmin.py

示例2: ldap_search_dn

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def ldap_search_dn(self,uid=None):
        obj = self.ldapconn
        obj.protocal_version = ldap.VERSION3
        searchScope = ldap.SCOPE_SUBTREE
        retrieveAttributes = None
        searchFilter = "cn=" + uid

        try:
            ldap_result_id = obj.search(self.base_dn, searchScope, searchFilter, retrieveAttributes)
            result_type, result_data = obj.result(ldap_result_id, 0)
#返回数据格式
#('cn=django,ou=users,dc=gccmx,dc=cn',
#    {  'objectClass': ['inetOrgPerson', 'top'],
#        'userPassword': ['{MD5}lueSGJZetyySpUndWjMBEg=='],
#        'cn': ['django'], 'sn': ['django']  }  )
#
            if result_type == ldap.RES_SEARCH_ENTRY:
                #dn = result[0][0]
                return result_data[0][0]
            else:
                return None
        except ldap.LDAPError, e:
            print e

#查询用户记录,返回需要的信息 
开发者ID:zhixingchou,项目名称:Adminset_Zabbix,代码行数:27,代码来源:ldap.py

示例3: ldap_get_user

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def ldap_get_user(self,uid=None):
        obj = self.ldapconn
        obj.protocal_version = ldap.VERSION3
        searchScope = ldap.SCOPE_SUBTREE
        retrieveAttributes = None
        searchFilter = "cn=" + uid
        try:
            ldap_result_id = obj.search(self.base_dn, searchScope, searchFilter, retrieveAttributes)
            result_type, result_data = obj.result(ldap_result_id, 0)
            if result_type == ldap.RES_SEARCH_ENTRY:
                username = result_data[0][1]['cn'][0]
                email = result_data[0][1]['mail'][0]
                nick = result_data[0][1]['sn'][0]
                result = {'username':username,'email':email,'nick':nick}
                return result
            else:
                return None
        except ldap.LDAPError, e:
            print e

#用户验证,根据传递来的用户名和密码,搜索LDAP,返回boolean值 
开发者ID:zhixingchou,项目名称:Adminset_Zabbix,代码行数:23,代码来源:ldap.py

示例4: _results

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def _results(self, connection, msgid):
        """
        Returns the result of a previous asynchronous query.
        """
        try:
            kind, results = connection.result(msgid)
            if kind not in (ldap.RES_SEARCH_ENTRY, ldap.RES_SEARCH_RESULT):
                results = []
        except ldap.LDAPError as e:
            results = []
            logger.error("result({}) raised {}".format(msgid, pprint.pformat(e)))

        return self._process_results(results) 
开发者ID:django-auth-ldap,项目名称:django-auth-ldap,代码行数:15,代码来源:config.py

示例5: _get_ldap_search_results

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def _get_ldap_search_results(self, connection, username, criteria, result_id, current_ref_hop):
        """
        The '_get_ldap_search_results()' returns the result of parsing a LDAP tree.
        Internally, this calls 'result' method of the LDAPObject.
        That method returns a tuple which has following two parameters.

        * r_type: This value can be one of the following three values
          - RES_SEARCH_ENTRY      : describes that the 'r_type' has a LDAP entry
          - RES_SEARCH_REFERENCE  : describes that the 'r_type' has a referral information
          - RES_SEARCH_RESULT     : describes the end of this search
        * r_data: A contents of search response

        There is a similar metho to parse LDAP tree that is 'search()'.
        But that method can't get the type information which is described 'r_type' in here.
        Therefore, this method parses LDAP tree by calling 'result()' method recursively.
        """
        results = []
        r_type = None

        while r_type != ldap.RES_SEARCH_RESULT:
            r_type, r_data = connection.result(result_id, all=0)

            if r_type == ldap.RES_SEARCH_ENTRY:
                results.append(self._get_ldap_search_entry(r_data))
            elif self._chase_referrals and r_type == ldap.RES_SEARCH_REFERENCE:
                _results = self._get_ldap_search_referral(r_data,
                                                          username,
                                                          criteria,
                                                          current_ref_hop)
                if _results:
                    results.append(_results)

        return results 
开发者ID:StackStorm,项目名称:st2-auth-backend-ldap,代码行数:35,代码来源:ldap_backend.py

示例6: get_ldap_search_resultset

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def get_ldap_search_resultset(base_dn, group_query, ldapobject, scope=ldap.SCOPE_SUBTREE):
  """This function will return a query result set."""
  result_set = []
  result_id = ldapobject.search(base_dn, scope, group_query)

  while 1:
    result_type, result_data = ldapobject.result(result_id, 0)
    if (result_type == ldap.RES_SEARCH_ENTRY):
        result_set.append(result_data)
    elif (result_type == ldap.RES_SEARCH_RESULT):
      break

  return result_set   

# get_ldap_search_resultset() 
开发者ID:whitlockjc,项目名称:sync-ldap-groups-to-svn-authz,代码行数:17,代码来源:sync_ldap_groups_to_svn_authz.py

示例7: ldap_search

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def ldap_search(self, searchFilter, baseDN):
        searchScope = ldap.SCOPE_SUBTREE
        retrieveAttributes = None

        try:
            conn = self.ldap_init_conn()
            if Setting().get('ldap_type') == 'ad':
                conn.simple_bind_s(
                    "{0}@{1}".format(self.username,
                                     Setting().get('ldap_domain')),
                    self.password)
            else:
                conn.simple_bind_s(Setting().get('ldap_admin_username'),
                                   Setting().get('ldap_admin_password'))
            ldap_result_id = conn.search(baseDN, searchScope, searchFilter,
                                         retrieveAttributes)
            result_set = []

            while 1:
                result_type, result_data = conn.result(ldap_result_id, 0)
                if (result_data == []):
                    break
                else:
                    if result_type == ldap.RES_SEARCH_ENTRY:
                        result_set.append(result_data)
            return result_set

        except ldap.LDAPError as e:
            current_app.logger.error(e)
            current_app.logger.debug('baseDN: {0}'.format(baseDN))
            current_app.logger.debug(traceback.format_exc()) 
开发者ID:ngoduykhanh,项目名称:PowerDNS-Admin,代码行数:33,代码来源:user.py

示例8: ldap_search_dn

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def ldap_search_dn(self, value=None, value_type='uid'):
        """
        # 根据表单提交的用户名,检索该用户的dn,一条dn就相当于数据库里的一条记录。
        # 在ldap里类似cn=username,ou=users,dc=gccmx,dc=cn,验证用户密码,必须先检索出该DN
        :param value: 用户 uid或 组cn
        :param value_type: 用户 uid|cn
        :return: search result
        """
        obj = self.ldapconn
        obj.protocal_version = ldap.VERSION3
        searchScope = ldap.SCOPE_SUBTREE
        retrieveAttributes = None
        if value_type == 'cn':
            searchFilter = "cn=" + value
        else:
            searchFilter = "uid=" + value
        try:
            ldap_result_id = obj.search(
                base=self.base_dn,
                scope=searchScope,
                filterstr=searchFilter,
                attrlist=retrieveAttributes
            )
            result_type, result_data = obj.result(ldap_result_id, 0)
            if result_type == ldap.RES_SEARCH_ENTRY:
                return result_data
            else:
                return None
        except ldap.LDAPError as e:
            logger.error('ldap search %s 失败,原因为: %s' % (value, str(e))) 
开发者ID:getway,项目名称:diting,代码行数:32,代码来源:ldapadmin.py

示例9: __get_max_uidNumber

# 需要导入模块: import ldap [as 别名]
# 或者: from ldap import RES_SEARCH_ENTRY [as 别名]
def __get_max_uidNumber(self):
        """
        查询 当前最大的uid,这个是在添加用户时,用于自增uid
        :param: None
        :return: max uidNumber
        """
        obj = self.ldapconn
        obj.protocal_version = ldap.VERSION3
        searchScope = ldap.SCOPE_SUBTREE
        retrieveAttributes = ['uidNumber']
        searchFilter = "uid=*"

        try:
            ldap_result = obj.search(
                base="%s" % self.base_dn,
                scope=searchScope,
                filterstr=searchFilter,
                attrlist=retrieveAttributes
            )
            print(ldap_result)
            result_set = []
            while True:
                result_type, result_data = obj.result(ldap_result, 0)
                if not result_data:
                    break
                else:
                    if result_type == ldap.RES_SEARCH_ENTRY:
                        result_set.append(int(result_data[0][1].get('uidNumber')[0]))
            return max(result_set) + 1
        except ldap.LDAPError as e:
            logger.error('获取最大uid失败,原因为: %s' % str(e)) 
开发者ID:getway,项目名称:diting,代码行数:33,代码来源:ldapadmin.py


注:本文中的ldap.RES_SEARCH_ENTRY属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。