[Checkins] SVN: zope.app.authentication/trunk/ Get ready for
release, now that the RST is formatting correctly.
Stephan Richter
srichter at cosmos.phy.tufts.edu
Thu Oct 11 01:00:09 EDT 2007
Log message for revision 80822:
Get ready for release, now that the RST is formatting correctly.
Changed:
U zope.app.authentication/trunk/CHANGES.txt
U zope.app.authentication/trunk/setup.py
U zope.app.authentication/trunk/src/zope/app/authentication/README.txt
U zope.app.authentication/trunk/src/zope/app/authentication/principalfolder.txt
U zope.app.authentication/trunk/src/zope/app/authentication/vocabulary.txt
-=-
Modified: zope.app.authentication/trunk/CHANGES.txt
===================================================================
--- zope.app.authentication/trunk/CHANGES.txt 2007-10-11 04:35:46 UTC (rev 80821)
+++ zope.app.authentication/trunk/CHANGES.txt 2007-10-11 05:00:08 UTC (rev 80822)
@@ -3,7 +3,13 @@
=======
-Version 3.4.0 (2007-09-27)
---------------------------
+3.4.0 (2007-10-11)
+------------------
+* Updated package meta-data.
+
+
+3.4.0b1 (2007-09-27)
+--------------------
+
* First Zope-independent release.
Modified: zope.app.authentication/trunk/setup.py
===================================================================
--- zope.app.authentication/trunk/setup.py 2007-10-11 04:35:46 UTC (rev 80821)
+++ zope.app.authentication/trunk/setup.py 2007-10-11 05:00:08 UTC (rev 80822)
@@ -30,10 +30,14 @@
read('README.txt')
+ '\n\n' +
'Detailed Documentation\n' +
- '======================\n'
+ '----------------------\n'
+ '\n' +
read('src', 'zope', 'app', 'authentication', 'README.txt')
+ '\n\n' +
+ read('src', 'zope', 'app', 'authentication', 'principalfolder.txt')
+ + '\n\n' +
+ read('src', 'zope', 'app', 'authentication', 'vocabulary.txt')
+ + '\n\n' +
read('CHANGES.txt')
),
url='http://cheeseshop.python.org/pypi/zope.app.authentication',
Modified: zope.app.authentication/trunk/src/zope/app/authentication/README.txt
===================================================================
--- zope.app.authentication/trunk/src/zope/app/authentication/README.txt 2007-10-11 04:35:46 UTC (rev 80821)
+++ zope.app.authentication/trunk/src/zope/app/authentication/README.txt 2007-10-11 05:00:08 UTC (rev 80822)
@@ -11,7 +11,7 @@
`zope.app.security.interfaces.IAuthentication` interface.
Authentication
-==============
+--------------
The primary job of PAU is to authenticate principals. It uses two types of
plug-ins in its work:
@@ -43,7 +43,7 @@
corresponding interface declarations.
Simple Credentials Plugin
--------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~
To illustrate, we'll create a simple credentials plugin::
@@ -69,7 +69,7 @@
>>> provideUtility(myCredentialsPlugin, name='My Credentials Plugin')
Simple Authenticator Plugin
----------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
Next we'll create a simple authenticator plugin. For our plugin, we'll need
an implementation of IPrincipalInfo::
@@ -106,7 +106,8 @@
>>> provideUtility(myAuthenticatorPlugin, name='My Authenticator Plugin')
Principal Factories
--------------------
+~~~~~~~~~~~~~~~~~~~
+
While authenticator plugins provide principal info, they are not responsible
for creating principals. This function is performed by factory adapters. For
these tests we'll borrow some factories from the principal folder::
@@ -118,7 +119,7 @@
For more information on these factories, see their docstrings.
Configuring a PAU
------------------
+~~~~~~~~~~~~~~~~~
Finally, we'll create the PAU itself::
@@ -131,7 +132,7 @@
>>> pau.authenticatorPlugins = ('My Authenticator Plugin', )
Using the PAU to Authenticate
------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We can now use the PAU to authenticate a sample request::
@@ -155,7 +156,7 @@
we get an authenticated principal.
Authenticated Principal Creates Events
---------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We can verify that the appropriate event was published::
@@ -205,7 +206,7 @@
'Bob'
Multiple Authenticator Plugins
-------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The PAU works with multiple authenticator plugins. It uses each plugin, in the
order specified in the PAU's authenticatorPlugins attribute, to authenticate
@@ -256,7 +257,7 @@
Principal('xyz_white')
Multiple Credentials Plugins
-----------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As with with authenticators, we can specify multiple credentials plugins. To
illustrate, we'll create a credentials plugin that extracts credentials from
@@ -355,7 +356,7 @@
Principal Searching
-===================
+-------------------
As a component that provides IAuthentication, a PAU lets you lookup a
principal with a principal ID. The PAU looks up a principal by delegating to
@@ -429,7 +430,7 @@
PrincipalLookupError: black
Found Principal Creates Events
-------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As evident in the authenticator's 'createFoundPrincipal' method (see above),
a FoundPrincipalCreatedEvent is published when the authenticator finds a
@@ -464,7 +465,7 @@
description will be set (by the add_info handler function).
Multiple Authenticator Plugins
-------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As with the other operations we've seen, the PAU uses multiple plugins to
find a principal. If the first authenticator plugin can't find the requested
@@ -515,7 +516,7 @@
Issuing a Challenge
-===================
+-------------------
Part of PAU's IAuthentication contract is to challenge the user for
credentials when its 'unauthorized' method is called. The need for this
@@ -596,7 +597,7 @@
'advancedlogin.html'
Challenge Protocols
--------------------
+~~~~~~~~~~~~~~~~~~~
Sometimes, we want multiple challengers to work together. For example, the
HTTP specification allows multiple challenges to be issued in a response. A
@@ -654,7 +655,7 @@
Pluggable-Authentication Prefixes
-=================================
+---------------------------------
Principal ids are required to be unique system wide. Plugins will often provide
options for providing id prefixes, so that different sets of plugins provide
@@ -685,7 +686,7 @@
Searching
-=========
+---------
PAU implements ISourceQueriables::
@@ -761,8 +762,8 @@
The result does not include the PAU prefix. The prepending of the prefix is
handled by the PluggableAuthenticationQueriable.
-
+
Queryiable plugins can provide the ILocation interface. In this case the
QuerySchemaSearchAdapter's __parent__ is the same as the __parent__ of the
plugin::
@@ -811,11 +812,11 @@
>>> queriables = list(pau.getQueriables())
>>> queriables # doctest: +ELLIPSIS
[('location-queriable-wo-parent', ...QuerySchemaSearchAdapter object...)]
-
+
And the parent is the pau::
>>> queriable = queriables[0][1]
>>> queriable.__parent__ # doctest: +ELLIPSIS
- <zope.app.authentication.authentication.PluggableAuthentication object at 0x...>
+ <zope.app.authentication.authentication.PluggableAuthentication object ...>
>>> queriable.__parent__ is pau
True
Modified: zope.app.authentication/trunk/src/zope/app/authentication/principalfolder.txt
===================================================================
--- zope.app.authentication/trunk/src/zope/app/authentication/principalfolder.txt 2007-10-11 04:35:46 UTC (rev 80821)
+++ zope.app.authentication/trunk/src/zope/app/authentication/principalfolder.txt 2007-10-11 05:00:08 UTC (rev 80822)
@@ -20,6 +20,7 @@
Authentication
--------------
+
Principal folders provide the `IAuthenticatorPlugin` interface. When we
provide suitable credentials:
@@ -40,6 +41,7 @@
Search
------
+
Principal folders also provide the IQuerySchemaSearch interface. This
supports both finding principal information based on their ids:
@@ -130,6 +132,7 @@
Changing credentials
--------------------
+
Credentials can be changed by modifying principal-information objects:
>>> p1.login = 'bob'
@@ -159,6 +162,7 @@
Removing principals
-------------------
+
Of course, if a principal is removed, we can no-longer authenticate it:
>>> del principals['p1']
Modified: zope.app.authentication/trunk/src/zope/app/authentication/vocabulary.txt
===================================================================
--- zope.app.authentication/trunk/src/zope/app/authentication/vocabulary.txt 2007-10-11 04:35:46 UTC (rev 80821)
+++ zope.app.authentication/trunk/src/zope/app/authentication/vocabulary.txt 2007-10-11 05:00:08 UTC (rev 80822)
@@ -1,6 +1,10 @@
-The vocabulary module provides vocabularies for the authenticatorPlugins and
-the credentialsPlugins.
+============
+Vocabularies
+============
+The vocabulary module provides vocabularies for the authenticator plugins and
+the credentials plugins.
+
The options should include the unique names of all of the plugins that provide
the appropriate interface (interfaces.ICredentialsPlugin or
interfaces.IAuthentiatorPlugin, respectively) for the current context-- which
@@ -45,7 +49,7 @@
... self.credentialsPlugins = (u'Plugin 4', u'Plugin X')
...
>>> auth = DemoAuth((p.name, p) for p in contained_plugins.values())
-
+
>>> @component.adapter(interface.Interface)
... @interface.implementer(component.IComponentLookup)
... def getSiteManager(context):
@@ -133,7 +137,7 @@
u'Plugin X (not found; deselecting will remove)']
credentialsPlugins
------
+------------------
For completeness, we'll do the same review of the credentialsPlugins.
More information about the Checkins
mailing list