[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