Please have a peek at
http://www2.inf.fh-brs.de/~sbaum2s/tg/soldapprovider.py
Just to test if I can create a new user when checking the password, I
modified soldapprovider.py as follows:
1.) import model
2.) Insert the "dummy = ..." line into validate_identity:
[ ...]
# Link the user to the visit
try:
link= visit_class.by_visit_key( visit_key )
link.user_id= user.id
except SQLObjectNotFound:
link= visit_class( visit_key=visit_key, user_id=user.id )
dummy = model.User("test", "test", "test", "test")
return SqlObjectIdentity( visit_key, user )
[...]
Now when I try to login, I'm getting:
2006-06-01 17:34:40,792 turbogears.identity ERROR Caught exception
while getting identity from request
Traceback (most recent call last):
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/identity/visitor.py",
line 162, in record_request
identity= self.identity_from_request(visit.key)
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/identity/visitor.py",
line 86, in identity_from_request
identity= source(visit_key)
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/identity/visitor.py",
line 143, in identity_from_form
identity= self.provider.validate_identity( user_name, pw, visit_key
)
File "/usr/local/src/idtest/idtest/soldapprovider.py", line 142, in
validate_identity
u = model.User(user_name="test", email_address="test",
display_name="test", password="test")
File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1588-py2.4.egg/sqlobject/declarative.py",
line 92, in _wrapper
return_value = fn(self, *args, **kwargs)
File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1588-py2.4.egg/sqlobject/main.py",
line 1197, in __init__
self._create(id, **kw)
File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1588-py2.4.egg/sqlobject/main.py",
line 1221, in _create
self.set(**kw)
File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1588-py2.4.egg/sqlobject/main.py",
line 1097, in set
setattr(self, name, value)
File "/usr/local/src/idtest/idtest/model.py", line 77, in
_set_password
hash = identity.encrypt_password(cleartext_password)
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/identity/__init__.py",
line 115, in encrypt_password
return encrypt_password(cleartext)
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/identity/soprovider.py",
line 391, in encrypt_password
hash = identity.current_provider.\
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/identity/__init__.py",
line 79, in __getattr__
raise IdentityManagementNotEnabledException()
IdentityManagementNotEnabledException: An attempt was made to use a
facility of the TurboGears Identity Management framework but identity
management hasn't been enabled in the config file [via identity.on].
2006-06-01 17:34:40,802 cherrypy.msg INFO HTTP: Traceback (most recent
call last):
File
"/usr/lib/python2.4/site-packages/CherryPy-2.2.1-py2.4.egg/cherrypy/_cphttptools.py",
line 105, in _run
self.main()
File
"/usr/lib/python2.4/site-packages/CherryPy-2.2.1-py2.4.egg/cherrypy/_cphttptools.py",
line 254, in main
body = page_handler(*virtual_path, **self.params)
File "<string>", line 3, in login
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/controllers.py",
line 273, in expose
output = database.run_with_transaction(
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/database.py",
line 221, in run_with_transaction
retval = func(*args, **kw)
File "<string>", line 5, in _expose
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/controllers.py",
line 290, in <lambda>
mapping, fragment, *args, **kw)))
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/controllers.py",
line 314, in _execute_func
output = errorhandling.try_call(func, *args, **kw)
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/errorhandling.py",
line 71, in try_call
return func(self, *args, **kw)
File "/usr/local/src/idtest/idtest/controllers.py", line 28, in login
if not identity.current.anonymous:
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/identity/__init__.py",
line 52, in __getattr__
identity= self.identity()
File
"/usr/lib/python2.4/site-packages/TurboGears-0.9a6-py2.4.egg/turbogears/identity/__init__.py",
line 45, in identity
raise IdentityManagementNotEnabledException()
IdentityManagementNotEnabledException: An attempt was made to use a
facility of the TurboGears Identity Management framework but identity
management hasn't been enabled in the config file [via identity.on].
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---