3 paula.pasplugins provides plugins to use a Pluggable Authentication Utility
4 (PAU, from zope.app.authentication) for authentication within a Pluggable Auth
5 Service (PAU, as used for example by Plone 3.x). A PAU is created as local
6 utility through GenericSetup, if you do not use GenericSetup, you need to
9 The following are provided:
11 - *PAU CredentialsFromMappingPlugin* accepts credentials to be passed in a
12 simple mapping and just returns the very same. Further, it ensures, that
13 the mapping provides IRequest, as PAU needs that to find its factories by
14 multi-adapter-lookup. Note: We are not using PAU to handle the request, but
15 only to authenticate the user and to return a user object.
17 - *PAS AuthenticationPlugin* accepts credentials for authentication, transfers
18 them into a UserDict, provides IRequest on it, and hands it over to PAU for
19 authentication. In case of successful authentication, it returns a tuple
20 containing containing the user id twice, i.e. it does not know about a
21 difference between login and user id, yet.
23 - *PAS GroupsPlugin* tries to retrieve a principal from PAU and returns a
24 tuple containing the principal's groups attribute. If anything goes wrong,
25 an empty tuple is returned.
27 - *PAS PropertiesPlugin* tries to retrieve a principal from PAU and returns
28 its properties as a MutablePropertySheet (from Products.PlonePAS.sheet,
29 ATTENTION: Plone specific behaviour). The properties are expected to be
30 normal attributes of the PAU principal and need to be part of a specially
31 marked schema (ATTENTION: A normal PAU is not doing this). Please, look at
32 the code (src/paula/pasplugins/plugins/properties.py) for details. I
33 currently like the concept of properties being normal specially marked
34 attributes - however, this might change. Feedback highly appreciated.