associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "PythonLdap"

Diferenças entre as versões de 3 e 4
Revisão 3e 2004-10-26 11:11:03
Tamanho: 1960
Comentário:
Revisão 4e 2007-06-13 22:18:21
Tamanho: 3219
Editor: diogoaraujo
Comentário:
Deleções são marcadas assim. Adições são marcadas assim.
Linha 2: Linha 2:
Linha 6: Linha 5:
Linha 14: Linha 12:
Linha 20: Linha 17:

Sua distribuição já deve ter os pacotes, geralmente chamados python-ldap. 
Sua distribuição já deve ter os pacotes, geralmente chamados python-ldap.
Linha 28: Linha 24:
Linha 30: Linha 25:
Linha 32: Linha 26:
Linha 36: Linha 29:
Linha 38: Linha 30:
Linha 40: Linha 31:
Linha 44: Linha 34:
Linha 46: Linha 35:
Python 2.3.4 (#2, Sep 24 2004, 08:39:09)  Python 2.3.4 (#2, Sep 24 2004, 08:39:09)
Linha 50: Linha 39:
>>>   >>>
Linha 53: Linha 41:
Linha 56: Linha 43:
Linha 58: Linha 44:

(seção sendo elaborada)
{{{
# Abaixo faremos o teste de conexão
try:
    # Conectando
    l = ldap.open("ip ou nome do servidor de ldap")
    # Abaixo a versão, a mais comum é a versão 2
    l.protocol_version = ldap.VERSION2
except ldap.LDAPError, e:
    print e
    # Acima devolvemos o erro
}}}
Linha 62: Linha 56:

(seção sendo elaborada)
{{{
# Insira o código acima
# Defina o nome da sua base de LDAP.
# Exemplo: baseDN = "dc=pythonbrasil,dc=com"
baseDN = "dc=seu_dominio,dc=com"
# Escopo da pesquisa - Objetos abaixo da árvore
searchScope = ldap.SCOPE_SUBTREE
# Definindo o não retorno de atributos
retrieveAttributes = None
# Abaixo é definido o filtro, busque sempre algum objeto válido no ldap
# Exemplos de Objetos: ou,uid,cn,objectClass
# Exemplo de filtro: "uid=jose*"
searchFilter = "uid=usuario*"
# Fazendo a pesquisa na árvore do ldap
try:
    ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes)
    result_set = []
    while 1:
        result_type, result_data=l.result(ldap_result_id, 0)
        if (result_data == []):
            break
        else:
            if result_type == ldap.RES_SEARCH_ENTRY:
                result_set.append(result_data)
    print result_set[0][0]
except ldap.LDAPError, e:
    print e
    # Exibindo possíveis erros
}}}
Linha 66: Linha 86:
Linha 70: Linha 89:
Linha 74: Linha 92:
Linha 76: Linha 93:

Como utilizar o módulo PythonLDAP

Autor: ChristianoAnderson

Introdução

Atualmente muitos desenvolvedores estão fazendo o gerenciamento de usuários através de LDAP. Com ele, é possível trabalhar com uma árvore enorme e modular.

Com LDAP também é possível integrar na mesma base todo o gerenciamento e roteamento de e-mails, unificar senhas onde o usuário com uma única senha pode autenticar na intranet, ler seus e-mails e utilizar sistemas internos de uma empresa.

O módulo PythonLDAP é bastante rico e permite um gerenciamento completo de uma base LDAP.

Página do Open LDAP: http://www.openldap.org

Módulo PythonLDAP: http://python-ldap.sourceforge.net

Instalação

Sua distribuição já deve ter os pacotes, geralmente chamados python-ldap.

Se você é um feliz usuário de Debian, basta dar um apt-get install python-ldap

Caso prefira fazer a instalação manual, basta baixar a última versão do PythonLDAP e prosseguir com a instalação. Ao descompactar o tarball, edite o arquivo setup.cfg verifique se as linhas de include estão de acordo com a sua distribuição. Em seguida basta:

python setup.py build

Se não ocorrer nenhum erro, prossiga com a instalação:

python setup.py install

Para verificar se o módulo foi instalado com sucesso, faça o seguinte teste:

anderson@aldebaran:~$ python
Python 2.3.4 (#2, Sep 24 2004, 08:39:09)
[GCC 3.3.4 (Debian 1:3.3.4-12)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ldap
>>>

Se não ocorrer nenhum erro, você está pronto para trabalhar com o módulo.

Estabelecendo conexão com LDAP

# Abaixo faremos o teste de conexão
try:
    # Conectando
    l = ldap.open("ip ou nome do servidor de ldap")
    # Abaixo a versão, a mais comum é a versão 2
    l.protocol_version = ldap.VERSION2
except ldap.LDAPError, e:
    print e
    # Acima devolvemos o erro

Pesquisando informações

# Insira o código acima
# Defina o nome da sua base de LDAP.
# Exemplo:    baseDN = "dc=pythonbrasil,dc=com"
baseDN = "dc=seu_dominio,dc=com"
# Escopo da pesquisa - Objetos abaixo da árvore
searchScope = ldap.SCOPE_SUBTREE
# Definindo o não retorno de atributos
retrieveAttributes = None
# Abaixo é definido o filtro, busque sempre algum objeto válido no ldap
# Exemplos de Objetos: ou,uid,cn,objectClass
# Exemplo de filtro: "uid=jose*"
searchFilter = "uid=usuario*"
# Fazendo a pesquisa na árvore do ldap
try:
    ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes)
    result_set = []
    while 1:
        result_type, result_data=l.result(ldap_result_id, 0)
        if (result_data == []):
            break
        else:
            if result_type == ldap.RES_SEARCH_ENTRY:
                result_set.append(result_data)
    print result_set[0][0]
except ldap.LDAPError, e:
    print e
    # Exibindo possíveis erros

Adicionando informações

(seção sendo elaborada)

Alterando informações

(seção sendo elaborada)

Removendo informações

(seção sendo elaborada)