/usr/share/pyshared/zope/authentication/logout.txt is in python-zope.authentication 3.7.1-3fakesync1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | ==============
Logout Support
==============
Logout support is defined by a simple interface ILogout:
>>> from zope.authentication.interfaces import ILogout
that has a single 'logout' method.
The current use of ILogout is to adapt an IAuthentication component to ILogout
To illustrate, we'll create a simple logout implementation that adapts
IAuthentication:
>>> class SimpleLogout(object):
...
... adapts(IAuthentication)
... implements(ILogout)
...
... def __init__(self, auth):
... pass
...
... def logout(self, request):
... print 'User has logged out'
>>> provideAdapter(SimpleLogout)
and something to represent an authentication utility:
>>> class Authentication(object):
...
... implements(IAuthentication)
>>> auth = Authentication()
To perform a logout, we adapt auth to ILogout and call 'logout':
>>> logout = ILogout(auth)
>>> logout.logout(TestRequest())
User has logged out
The 'NoLogout' Adapter
----------------------
The class:
>>> from zope.authentication.logout import NoLogout
can be registered as a fallback provider of ILogout for IAuthentication
components that are not otherwise adaptable to ILogout. NoLogout's logout
method is a no-op:
>>> NoLogout(auth).logout(TestRequest())
Logout User Interface
---------------------
Because some authentication protocols do not formally support logout, it may
not be possible for a user to logout once he or she has logged in. In such
cases, it would be inappropriate to present a user interface for logging out.
Because logout support is site-configurable, Zope provides an adapter that,
when registered, indicates that the site is configured for logout:
>>> from zope.authentication.logout import LogoutSupported
This class merely serves as a flag as it implements ILogoutSupported:
>>> from zope.authentication.interfaces import ILogoutSupported
>>> ILogoutSupported.implementedBy(LogoutSupported)
True
>>> request = object()
>>> ILogoutSupported.providedBy(LogoutSupported(request))
True
|