This file is indexed.

/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