An LDAP proxy that handles non-anonymous bind requests specially.
BindRequests are intercepted and authentication is attempted against
each configured service. This authentication is performed against a
separate LDAP entry, found by searching for entries with
starting at the identity-base as configured in the config file.
Finally, if the authentication does not succeed against any of the
configured services, the proxy can fallback to passing the bind request
to the real server.
Method Summary |
|
__init__ (self,
services,
fallback,
*a,
**kw)
Initialize the object. |
|
handle_LDAPBindRequest(self,
request,
controls,
reply)
|
|
timestamp(self)
|
|
_loopIfBindError(self,
fail,
*a,
**kw)
|
|
_loopIfNone(self,
r,
*a,
**kw)
|
|
_maybeFallback(self,
entry,
request,
controls,
reply)
|
|
_startSearch(self,
request,
controls,
reply)
|
|
_tryService(self,
services,
baseEntry,
request,
controls,
reply)
|
Inherited from Proxy |
|
connectionLost (self,
reason)
|
|
connectionMade (self)
TCP connection has opened |
|
handle_LDAPUnbindRequest (self,
request,
controls,
reply)
|
|
handleUnknown (self,
request,
controls,
reply)
|
|
_cbConnectionMade (self,
proto)
|
|
_clientQueue (self,
request,
controls,
reply)
|
|
_failConnection (self,
reason)
|
|
_gotResponse (self,
response,
reply)
|
|
_handleUnknown (self,
request,
controls,
reply)
|
|
_whenConnected (self,
fn,
*a,
**kw)
|
Inherited from BaseLDAPServer |
|
checkControls (self,
controls)
|
|
dataReceived (self,
recd)
|
|
failDefault (self,
resultCode,
errorMessage)
|
|
handle (self,
msg)
|
|
queue (self,
id,
op)
|
|
unsolicitedNotification (self,
msg)
|
|
_callErrorHandler (self,
name,
resultCode,
errorMessage)
|
|
_cbHandle (self,
response,
id)
|
|
_cbLDAPError (self,
reason,
name)
|
|
_cbOtherError (self,
reason,
name)
|
Inherited from BaseProtocol |
|
makeConnection (self,
transport)
Make a connection to a transport and a server. |