All Projects → UMIACS → Ldapper

UMIACS / Ldapper

Licence: lgpl-2.1
ldapper — a hassle-free Python LDAP ORM for getting real work done

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Labels

Projects that are alternatives of or similar to Ldapper

Ansible Playbooks
Ansible playbook collection that have been written for Ubuntu. Some of the playbooks are Elasticsearch, Mesos, AWS, MySql, Sensu, Nginx etc..
Stars: ✭ 429 (+897.67%)
Mutual labels:  ldap
Authelia
The Single Sign-On Multi-Factor portal for web apps
Stars: ✭ 11,094 (+25700%)
Mutual labels:  ldap
Eloquent Ldap
A Laravel 5.1 package that first tries to log the user against the internal database if that fails, it tries against the configured LDAP/AD server.
Stars: ✭ 19 (-55.81%)
Mutual labels:  ldap
Curl
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. libcurl offers a myriad of powerful features
Stars: ✭ 22,875 (+53097.67%)
Mutual labels:  ldap
Freeipa
Mirror of FreeIPA, an integrated security information management solution
Stars: ✭ 520 (+1109.3%)
Mutual labels:  ldap
Pwm
pwm
Stars: ✭ 657 (+1427.91%)
Mutual labels:  ldap
Play Pac4j
Security library for Play framework 2 in Java and Scala: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 375 (+772.09%)
Mutual labels:  ldap
Terraform Provider Ldap
LDAP provider for Terraform
Stars: ✭ 32 (-25.58%)
Mutual labels:  ldap
Docker Phpldapadmin
A docker image to run phpLDAPadmin 🐳
Stars: ✭ 615 (+1330.23%)
Mutual labels:  ldap
Adldap2 Laravel
LDAP Authentication & Management for Laravel
Stars: ✭ 825 (+1818.6%)
Mutual labels:  ldap
Scoold
A Stack Overflow clone for teams (self-hosted)
Stars: ✭ 463 (+976.74%)
Mutual labels:  ldap
Im
IM server based on netty. Provides a client jar. Integrate with your own login system.基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统
Stars: ✭ 490 (+1039.53%)
Mutual labels:  ldap
Self Service Password
Web interface to change and reset password in an LDAP directory
Stars: ✭ 699 (+1525.58%)
Mutual labels:  ldap
Buji Pac4j
pac4j security library for Shiro: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 444 (+932.56%)
Mutual labels:  ldap
Glauth
A lightweight LDAP server for development, home use, or CI
Stars: ✭ 850 (+1876.74%)
Mutual labels:  ldap
Zeus Admin
Zeus基于Golang Gin +casbin,致力于做企业统一权限&账号中心管理系统。包含账号管理,数据权限,功能权限,应用管理,多数据库适配,可docker 一键运行。社区活跃,版本迭代快,加群免费技术支持。
Stars: ✭ 404 (+839.53%)
Mutual labels:  ldap
Adldap2
A PHP LDAP Package for humans.
Stars: ✭ 654 (+1420.93%)
Mutual labels:  ldap
Verdaccio Ldap
LDAP auth plugin for verdaccio
Stars: ✭ 39 (-9.3%)
Mutual labels:  ldap
Docker Mailserver
Production-ready fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) running inside a container.
Stars: ✭ 8,115 (+18772.09%)
Mutual labels:  ldap
Opscloud
运维管理平台(阿里云),自动同步阿里云配置信息,堡垒机(容器),批量运维,Kubernetes,Zabbix管理等功能
Stars: ✭ 788 (+1732.56%)
Mutual labels:  ldap

ldapper

Build Status Documentation Status

ldapper is a hassle-free Python LDAP ORM for getting real work done.

It extends the robust capabilities of python-ldap and augments it with higher-level interfaces to define your schema. Listing and fetching all your LDAP objects is easy and straightforward. Modifications and validation can be made with assurance using ldapper.

Requirements

ldapper requires:

  • Python 3.6+
  • inflection

Version 0.9.0 was the last to support Python 2.

Usage

from ldapper.connection import BaseConnection
from ldapper.ldapnode import LDAPNode
from ldapper import fields


# define a connection
class Connection(BaseConnection):
    BASE_DN = 'dc=example,dc=com'
    URI = 'ldaps://ldap.example.com'


# define a common LDAPNode that holds the connection class you defined
class BaseModel(LDAPNode):
    connection = Connection


# define a class to represent people
class Person(BaseModel):
    uid = fields.StringField('uid', primary=True)
    uidnumber = fields.IntegerField('uidNumber')
    firstname = fields.StringField('givenName')
    lastname = fields.StringField('sn')
    email_addresses = fields.ListField('mailLocalAddress')
    photo = fields.BinaryField('jpegPhoto', optional=True)

    class Meta:
        objectclasses = ['top', 'inetOrgPerson', 'inetLocalMailRecipient']
        dn_format = 'uid=%(uid)s,ou=people'
        primary_dnprefix = 'ou=people'
        secondary_dnprefix = 'ou=people'
        identifying_attrs = ['uid']
        searchable_fields = [
'uid', 'uidNumber', 'givenName', 'sn', 'mailLocalAddress']


# use the Person class
person = Person.fetch('liam')
person.displayname = 'Chuck Yeager'
person.save()
person.delete()


from ldapper.query import Q
Person.filter(Q(firstname='Foo') | Q(lastname='Bar'))

Documentation

Available at https://ldapper.readthedocs.io/

Testing

Please see the README.md file in the test directory for information on running unit tests.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].