Technically, you're seeing the expected behavior, although I think it's reasonable to say that it's a bug or at least a misfeature. At present, the backend doesn't make any guarantee as to whether we're bound with the default credentials or the user's credentials when we perform operations. In practice, we'll tend to be bound as the user during the request that includes authentication and as the default during subsequent requests. I suppose it's a good idea to make this stricter and more predictable (at the minor cost of some additional LDAP traffic).
I think the right fix for this is to set self._connection_bound=False after binding as the user. This will force us to re-bind with the default credentials the next time we need a connection.
I've attached an sdist with this change. If this looks good to you, I'll push an update. Thanks for the report and sorry for the trouble.
That's a good tip on the logging. I've seen talk on the Django developer list about some kind of run-once-at-init hook, but I'm not sure if anyone's done that yet. Hopefully there will be a good solution at some point.
Here is a good example of sentry in use: http://vimeo.com/15235999
--
Jeff Schroeder
Don't drink and derive, alcohol and analysis don't mix.
http://www.digitalprognosis.com