Chris McDonough
2010-12-31 2526d8bdec3c2d84f3ab8ec1983150927fce7eae
refs
author Chris McDonough <chrism@plope.com>
Friday, December 31, 2010 23:15 +0100
committer Chris McDonough <chrism@plope.com>
Friday, December 31, 2010 23:15 +0100
commit2526d8bdec3c2d84f3ab8ec1983150927fce7eae
tree 3ec747e24bb2ef94f2b933990051812d689474b2 tree | zip | gz
parent 95c95bf924a8c08e0a5b686d7a5d12fa4e49d87e view | diff
- The ``pyramid.interfaces.IAuthenticationPolicy`` interface now specifies an
``unauthenticated_userid`` method. This method supports an important
optimization required by people who are using persistent storages which do
not support object caching and whom want to create a "user object" as a
request attribute.

- A new API has been added to the ``pyramid.security`` module named
``unauthenticated_userid``. This API function calls the
``unauthenticated_userid`` method of the effective security policy.

- An ``unauthenticated_userid`` method has been added to the dummy
authentication policy returned by
``pyramid.config.Configurator.testing_securitypolicy``. It returns the
same thing as that the dummy authentication policy's
``authenticated_userid`` method.

- Since the ``pyramid.interfaces.IAuthenticationPolicy`` interface now
specifies that a policy implementation must implement an
``unauthenticated_userid`` method, all third-party custom authentication
policies now must implement this method. It, however, will only be called
when the global function named ``pyramid.security.unauthenticated_userid``
is invoked, so if you're not invoking that, you will not notice any issues.

- The (non-API) method of all internal authentication policy implementations
previously named ``_get_userid`` is now named ``unauthenticated_userid``,
promoted to an API method. If you were overriding this method, you'll now
need to override it as ``unauthenticated_userid`` instead.
9 files modified
160 ■■■■■ changed files
CHANGES.txt 31 ●●●●● diff | view | raw | blame | history
docs/api/security.rst 2 ●●●●● diff | view | raw | blame | history
pyramid/authentication.py 14 ●●●● diff | view | raw | blame | history
pyramid/interfaces.py 15 ●●●● diff | view | raw | blame | history
pyramid/security.py 18 ●●●●● diff | view | raw | blame | history
pyramid/testing.py 8 ●●●● diff | view | raw | blame | history
pyramid/tests/test_authentication.py 33 ●●●●● diff | view | raw | blame | history
pyramid/tests/test_security.py 33 ●●●●● diff | view | raw | blame | history
pyramid/tests/test_testing.py 6 ●●●● diff | view | raw | blame | history