[Erp5-report] r43291 luke - /erp5/trunk/products/Vifib/VifibMachineAuthenticationPlugin.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Feb 11 18:17:15 CET 2011
Author: luke
Date: Fri Feb 11 18:17:15 2011
New Revision: 43291
URL: http://svn.erp5.org?rev=43291&view=rev
Log:
- implement IUserEnumerationPlugin
Modified:
erp5/trunk/products/Vifib/VifibMachineAuthenticationPlugin.py
Modified: erp5/trunk/products/Vifib/VifibMachineAuthenticationPlugin.py
URL: http://svn.erp5.org/erp5/trunk/products/Vifib/VifibMachineAuthenticationPlugin.py?rev=43291&r1=43290&r2=43291&view=diff
==============================================================================
--- erp5/trunk/products/Vifib/VifibMachineAuthenticationPlugin.py [utf8] (original)
+++ erp5/trunk/products/Vifib/VifibMachineAuthenticationPlugin.py [utf8] Fri Feb 11 18:17:15 2011
@@ -293,6 +293,46 @@ class VifibMachineAuthenticationPlugin(B
user_name=principal.getId(),
path=self.getPhysicalPath())
+ #
+ # IUserEnumerationPlugin implementation
+ #
+ security.declarePrivate( 'enumerateUsers' )
+ def enumerateUsers(self, id=None, login=None, exact_match=False,
+ sort_by=None, max_results=None, **kw):
+ """ See IUserEnumerationPlugin.
+ """
+ if id is None:
+ id = login
+ if isinstance(id, str):
+ id = (id,)
+ if isinstance(id, list):
+ id = tuple(id)
+
+ user_info = []
+ plugin_id = self.getId()
+
+ id_list = []
+ for user_id in id:
+ if SUPER_USER == user_id:
+ info = { 'id' : SUPER_USER
+ , 'login' : SUPER_USER
+ , 'pluginid' : plugin_id
+ }
+ user_info.append(info)
+ else:
+ id_list.append(user_id)
+
+ if id_list:
+ for user in self.getUserByLogin(tuple(id_list)):
+ info = { 'id' : user.getReference()
+ , 'login' : user.getReference()
+ , 'pluginid' : plugin_id
+ }
+
+ user_info.append(info)
+
+ return tuple(user_info)
+
#List implementation of class
classImplements(VifibMachineAuthenticationPlugin,
plugins.IAuthenticationPlugin)
@@ -302,6 +342,9 @@ classImplements( VifibMachineAuthenticat
classImplements( VifibMachineAuthenticationPlugin,
plugins.IGroupsPlugin
)
+classImplements( VifibMachineAuthenticationPlugin,
+ plugins.IUserEnumerationPlugin
+ )
InitializeClass(VifibMachineAuthenticationPlugin)
More information about the Erp5-report
mailing list