m-martinez / who_ldap Goto Github PK
View Code? Open in Web Editor NEWLDAP plugin for repoze.who v2 API
License: Other
LDAP plugin for repoze.who v2 API
License: Other
The authenticator methods save DN data in a "userdata" key in the identity so that the authenticated user DN can be searched for in the metadata providers plugins. Unfortunately it seems like data set by authenticators are not saved in the final repoze.who identity object, resulting in user metadata not being able to be loaded properly.
Traceback (most recent call last):
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/pyramid_debugtoolbar/panels/performance.py", line 55, in resource_timer_handler
result = handler(request)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/pyramid/tweens.py", line 21, in excview_tween
response = handler(request)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/pyramid_tm/init.py", line 50, in tm_tween
userid = unauthenticated_userid(request)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/pyramid/security.py", line 92, in unauthenticated_userid
return request.unauthenticated_userid
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/pyramid/security.py", line 338, in unauthenticated_userid
return policy.unauthenticated_userid(self)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/pyramid_who/whov2.py", line 44, in unauthenticated_userid
identity = self._get_identity(request)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/pyramid_who/whov2.py", line 90, in _get_identity
identity = api.authenticate()
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/repoze/who/api.py", line 133, in authenticate
auth_ids = self._authenticate(ids)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/repoze/who/api.py", line 339, in _authenticate
userid = plugin.authenticate(self.environ, identity)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/who_ldap/init.py", line 122, in authenticate
dn = self._get_dn(environ, identity)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/who_ldap/init.py", line 310, in _get_dn
auto_bind=True)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/ldap3/core/connection.py", line 165, in init
self.open()
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/ldap3/strategy/syncWait.py", line 47, in open
BaseStrategy.open(self, reset_usage)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/ldap3/strategy/baseStrategy.py", line 85, in open
self._open_socket(self.connection.server.ssl)
File "/home/asallen/occams.hivseq.env/lib/python2.6/site-packages/ldap3/strategy/baseStrategy.py", line 122, in _open_socket
self.connection.socket.connect((self.connection.server.host, self.connection.server.port))
File "", line 1, in connect
gaierror: [Errno -2] Name or service not known
Occasionally, the connection to the LDAP server stales:
2014-05-02 13:11:36,460 ERROR [waitress][Dummy-4] Exception when serving /viralload
Traceback (most recent call last):
File "/home/sweaver/reports/env/lib/python2.6/site-packages/waitress/channel.py", line 337, in service
task.service()
File "/home/sweaver/reports/env/lib/python2.6/site-packages/waitress/task.py", line 173, in service
self.execute()
File "/home/sweaver/reports/env/lib/python2.6/site-packages/waitress/task.py", line 392, in execute
app_iter = self.channel.server.application(env, start_response)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid/router.py", line 242, in __call__
response = self.invoke_subrequest(request, use_tweens=True)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid/router.py", line 217, in invoke_subrequest
response = handle_request(request)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid_debugtoolbar/toolbar.py", line 160, in toolbar_t
ween
return handler(request)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid/tweens.py", line 21, in excview_tween
response = handler(request)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid/router.py", line 163, in handle_request
response = view_callable(context, request)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid/config/views.py", line 243, in _secured_view
result = _permitted(context, request)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid/config/views.py", line 239, in _permitted
principals = self.authn_policy.effective_principals(request)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid_who/whov2.py", line 61, in effective_principals
identity = self._get_identity(request)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/pyramid_who/whov2.py", line 90, in _get_identity
identity = api.authenticate()
File "/home/sweaver/reports/env/lib/python2.6/site-packages/repoze/who/api.py", line 151, in authenticate
self._add_metadata(identity)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/repoze/who/api.py", line 367, in _add_metadata
plugin.add_metadata(self.environ, identity)
File "/home/sweaver/reports/env/src/who-ldap/src/who_ldap/__init__.py", line 548, in add_metadata
auto_bind=True)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/ldap3/core/connection.py", line 140, in __init__
self.open()
File "/home/sweaver/reports/env/lib/python2.6/site-packages/ldap3/strategy/syncWait.py", line 46, in open
BaseStrategy.open(self, reset_usage)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/ldap3/strategy/baseStrategy.py", line 84, in open
self._open_socket(self.connection.server.ssl)
File "/home/sweaver/reports/env/lib/python2.6/site-packages/ldap3/strategy/baseStrategy.py", line 120, in _open_sock
et
self.connection.socket.connect((self.connection.server.host, self.connection.server.port))
File "<string>", line 1, in connect
error: [Errno 111] Connection refused
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.