seafile_ynh/sources/seafile-server-3.1.1/seahub/thirdpart/wsgidav/interfaces/domaincontrollerinterface.py
Elie 0f063400be Add sources
Former-commit-id: 2e47976ec5
2014-08-06 22:42:37 -04:00

36 lines
1.6 KiB
Python

class IDomainController(object):
"""
+----------------------------------------------------------------------+
| TODO: document this interface |
| For now, see wsgidav.domain_controller instead |
+----------------------------------------------------------------------+
This class is an interface for a domain controller.
Implementations in WsgiDAV include::
wsgidav.domain_controller.WsgiDAVDomainController
wsgidav.addons.nt_domain_controller.NTDomainController
All methods must be implemented.
The environ variable here is the WSGI 'environ' dictionary. It is passed to
all methods of the domain controller as a means for developers to pass information
from previous middleware or server config (if required).
Domain Controllers
------------------
The HTTP basic and digest authentication schemes are based on the following
concept:
Each requested relative URI can be resolved to a realm for authentication,
for example:
/fac_eng/courses/ee5903/timetable.pdf -> might resolve to realm 'Engineering General'
/fac_eng/examsolns/ee5903/thisyearssolns.pdf -> might resolve to realm 'Engineering Lecturers'
/med_sci/courses/m500/surgery.htm -> might resolve to realm 'Medical Sciences General'
and each realm would have a set of username and password pairs that would
allow access to the resource.
A domain controller provides this information to the HTTPAuthenticator.
"""