Entry 3796

Python

   

Submitted by anonymous on May 9, 2010 at 7:53 p.m.
Language: Python. Code size: 894 bytes.

from trac.core import *
import ldap
import ldap.sasl
import acct_mgr.api

class LdapAuthStore(Component):
    implements(acct_mgr.api.IPasswordStore)

    def get_users(self):
        return none

    def has_user(self, user):
        return True

    def set_password(self, user, password):
        return False

    def check_password(self, user, password):
        l = ldap.initialize(self.config.get("ldap","server"))
        user_dn = "CN=%s,%s" % (user,self.config.get("ldap","dn"))
        try:
            test = l.bind_s( user_dn, password )
        except ldap.INVALID_CREDENTIALS, e:
            self.log.debug('error: %s user: %s' % (e, user_dn))
            return False
        except ldap.LDAPError, e:
            self.log.debug('error: %s' % e)
            return False
        return True

    def delete_user(self, user):
        return False

This snippet took 0.00 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).