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

Diferenças para "PythonLdap"

Diferenças entre as versões de 1 e 5 (4 versões de distância)
Revisão 1e 2004-10-26 10:39:36
Tamanho: 251
Comentário:
Revisão 5e 2008-09-26 14:06:23
Tamanho: 3219
Editor: localhost
Comentário: converted to 1.6 markup
Deleções são marcadas assim. Adições são marcadas assim.
Linha 2: Linha 2:
Linha 6: Linha 5:
Linha 9: Linha 7:
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.
Linha 10: Linha 9:
O módulo PythonLDAP é bastante rico e permite um gerenciamento completo de uma base LDAP.

== Links ==
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)

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)