[Checkins] SVN: Sandbox/luciano/kirbi/src/kirbi/ changed UserFolder
IAuthenticatorPlugin methods to return adapters
Luciano Ramalho
luciano at ramalho.org
Thu Aug 16 00:07:52 EDT 2007
Log message for revision 78867:
changed UserFolder IAuthenticatorPlugin methods to return adapters
providing IPrincipalInfo
Changed:
U Sandbox/luciano/kirbi/src/kirbi/ftests/user.txt
U Sandbox/luciano/kirbi/src/kirbi/user.py
-=-
Modified: Sandbox/luciano/kirbi/src/kirbi/ftests/user.txt
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/ftests/user.txt 2007-08-16 03:41:15 UTC (rev 78866)
+++ Sandbox/luciano/kirbi/src/kirbi/ftests/user.txt 2007-08-16 04:07:52 UTC (rev 78867)
@@ -39,16 +39,20 @@
exercise the ``IAuthenticatorPlugin`` methods::
>>> kirbi_app.user_folder[u'alice'] = alice
- >>> kirbi_app.user_folder.principalInfo(u'alice')
- {'login': u'alice'}
+ >>> principal = kirbi_app.user_folder.principalInfo(u'alice')
+ >>> principal.description
+ u'Alice Cooper (alice)'
+
>>> kirbi_app.user_folder.principalInfo('nonexistent-user') is None
True
>>> good_credentials = {'login':u'alice','password':u'1234'}
>>> bad_login_cred = {'login':u'bob','password':u'1234'}
>>> bad_passwd_cred = {'login':u'alice','password':u'9999'}
- >>> kirbi_app.user_folder.authenticateCredentials(good_credentials)
- {'login': u'alice'}
+ >>> principal = kirbi_app.user_folder.authenticateCredentials(good_credentials)
+ >>> principal.description
+ u'Alice Cooper (alice)'
+
>>> kirbi_app.user_folder.authenticateCredentials(bad_login_cred) is None
True
>>> kirbi_app.user_folder.authenticateCredentials(bad_passwd_cred) is None
Modified: Sandbox/luciano/kirbi/src/kirbi/user.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/user.py 2007-08-16 03:41:15 UTC (rev 78866)
+++ Sandbox/luciano/kirbi/src/kirbi/user.py 2007-08-16 04:07:52 UTC (rev 78867)
@@ -14,16 +14,16 @@
"""Find a principal given an id"""
if id in self:
# in Kirbi, the login and the id are the same
- return {'login' : id}
+ return IPrincipalInfo(self[id])
def authenticateCredentials(self, credentials):
"""Authenticate a principal"""
- login = credentials['login']
- user = self.get(login)
+ id = credentials['login']
+ user = self.get(id)
if user is not None:
given_hash = sha.new(credentials['password']).hexdigest()
if user.password == given_hash:
- return {'login':login}
+ return IPrincipalInfo(self[id])
class User(grok.Container):
"""A Kirbi user implementation.
More information about the Checkins
mailing list